Room Packages

busadapters.api.lin

ProtocolClasses
Name Description

PLinPayload

PLinCtrl

PLinCtrlScheduler

Enumeration Types
Name Description

ELinDiagFrameType

Data Classes
Name Description

DLinPayload

DLinDiagFrame

DLinByteArray

DLinScheduleState

ELinDiagFrameType

The literals of this enumeration are based on PrimitiveType uint8.

Literals
Name Value Hex Value Binary Value

MasterReq

60

0x3c

111100

SlaveResp

61

0x3d

111101

DLinPayload

Attributes
Name Type Description

fid

uint8

data

uint8

DLinDiagFrame

Attributes
Name Type Description

type

ELinDiagFrameType

data

uint8

DLinByteArray

Attributes
Name Type Description

len

uint8

data

uint8

Operations
Name Return type Arguments Description

setData

void

dataPtr: uint8, length: uint8

getData

void

dataPtr: uint8

DLinScheduleState

Attributes
Name Type Description

schedule

uint8

A schedule id from the generated enum (ELinScheduleTable[..])

pos

uint8

1-based position of the frame with which the schedule should start

PLinPayload

Incoming Messages
Message Type Description

requestData

uint8

setData

DLinPayload

Outgoing Messages
Message Type Description

data

DLinPayload

PLinCtrl

This protocol is used to control a generated lin adapter. The contained messages control the slave actor (ALinSlaveController) which reacts to frame headers observed on the lin bus. Generated lin slave adapters do not control frame scheduling. They never send frame headers on the lin bus.

A generated lin master adapter consists of a lin slave actor and a scheduler actor (ALinScheduler). The scheduler is controlled using the PLinCtrlScheduler protocol.

Incoming Messages
Message Type Description

start

void

Starts listening for frame headers on the bus. If the actor was stopped / uninitialized before this message triggers a read reply

stop

void

Stops listening for frame headers on the bus.

wakeup

void

Triggers generation of a wakeup pulse on the lin bus.

diagFrameSet

DLinDiagFrame

Sets the value of the diagnostic frame data.

NOTE: there is currently no queuing of raw diagnostic frames. Users are responsible for synchronizing the scheduling and setting of diagnostic frames.

Outgoing Messages
Message Type Description

ready

void

Reply to the start message if the actor was stopped or uninitialized before.

diagFrameRecv

DLinDiagFrame

Send once a diagnostic frame is received

PLinCtrlScheduler

This protocol is used to control the scheduler actor (ALinScheduler) which is part of the generated lin master adapter. The scheduler is responsible for issuing frame headers on the lin bus. The headers and timing between headers are defined by schedule definitions in the ldf. The scheduler actor does not fill in frame data after the header has been sent. Frame data are either sent by locally running adapters or by other (external) lin bus nodes. This means that for a master adapter to be fully operational (to send and receive frame data), it needs to be started first using the PLinCtrl.start() message.

Incoming Messages
Message Type Description

run

void

Starts / restarts the currently configured schedule.

break

void

Stops the currently active schedule after it is completed. A schedule done message is sent once the schedule has stopped.

sleep

void

Send a sleep signal on the bus. If idle, then send immediately. If active, then send after the delay of the current frame slot.

runOnce

void

Run to the end of the schedule and then stop. If the scheduler is idle, then start from the last set schedule position. If the scheduler is active, then run to the end of the currently active schedule.

schedule

DLinScheduleState

Switches to the specified schedule. If idle the schedule is started with the next run or runOnce message. If active, it starts after the currently running schedule finishes. Once the scheduler rolls over or goes back to idle, the position is reset to 1 (the selected schedule table remains the same).

notifyRolloverScheduleDone

boolean

Enable additional sending of scheduleDone message after each schedule rollover.

Outgoing Messages
Message Type Description

scheduleDone

uint8

Sent whenever a runOnce schedule completes, when break() or sleep() are called, or when a new schedule starts via the schedule message. If the scheduler is in an active frame slot, this message will be sent immediately after the frame slot delay. Note: the value is one-based and refers to the next frame in the current schedule table, ignoring any pending schedule change. The scheduleDone value at the end of the schedule is always 1

busadapters.hw.lin

Actor Classes
Name Description

ALinControllerHardware

ALinControllerHardware

This ActorClass is intended to be customized for each hardware platform Hardware-specific details that need to be kept at the ROOM model level which are required by ALinMasterController and ALinSlaveController should be placed in this ActorClass.

This could be, for example, @SubSystemUserCode that should only be included if a LIN controller Actor instance is present in the subsystem.

Structure

busadapters.platform.lin

Data Classes
Name Description

DSignalUpdateState

DArraySignalUpdateState

Actor Classes
Name Description

ALinScheduler

ALinSlaveController

ALinMasterController

DSignalUpdateState

Attributes
Name Type Description

isUpdating

boolean

offset

uint8

size

uint8

value

uint32

Operations
Name Return type Arguments Description

init

void

newOffset: uint8, newSize: uint8

DArraySignalUpdateState

Attributes
Name Type Description

isUpdating

boolean

offset

uint8

size

uint8

value

DLinByteArray

Operations
Name Return type Arguments Description

init

void

newOffset: uint8, newSize: uint8

ALinScheduler

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PLinCtrlScheduler

regular

external

1

Attributes
Name Type Description

sleepPending

boolean

breakPending

boolean

runOnceMode

boolean

notifyRolloverScheduleDone

boolean

currentEntry

LIN_SchedulerEntryPtr

nextSchedule

DLinScheduleState

setSchedulePending

boolean

Behavior

Operations
Name Return type Arguments Description

sendSleep

void

sendScheduleDone

void

setNextSchedule

void

scheduleState: DLinScheduleState

checkAndActivateNextSchedule

void

copyScheduleState

void

src: DLinScheduleState, dest: DLinScheduleState

State Machine
Top Level State
running

(no description)

wait

(no description)

ALinSlaveController

Structure

Ports
Name Protocol Type Kind Multiplicity Description

rxDataIsr

PInterrupt

regular

external

1

ctrl

PLinCtrl

regular

external

1

payload

PLinPayload

regular

external

1

Behavior

Operations
Name Return type Arguments Description

sendData

void

fid: uint8

State Machine
Top Level State
waitingForStart

(no description)

receiving

(no description)

ALinMasterController

Structure

Ports
Name Protocol Type Kind Multiplicity Description

payload

PLinPayload

regular

relay

1

rxDataIsr

PInterrupt

regular

relay

1

ctrl

PLinCtrl

regular

relay

1

ctrlScheduler

PLinCtrlScheduler

regular

relay

1

can.api.CANService

ProtocolClasses
Name Description

PCANData

PCANCtrl

Data Classes
Name Description

DCanFilterConfig

CANMessage

DCanParams

Actor Classes
Name Description

AbstractCANService

DCanFilterConfig

Attributes
Name Type Description

numIds

uint8

filterArr

uint32

CANMessage

Represents a CAN message received/sent by the CAN service.

WARNING: Although CANFD messages can be sent and received, the maximum data field length is limited to 32 bytes, due to platform-specific limitations for the static eTrice message size.

Attributes
Name Type Description

id

uint32

Frame identifier

length

uint8

Length of data field

data

uint8

Data field buffer array

isRemoteFrame

boolean

isExtendedFrame

boolean

isFDFrame

boolean

isBitRateSwitched

boolean

DCanParams

Common CAN bus configuration parameters that are used to configure a CAN service.

Attributes
Name Type Description

openStr

string

baudRate_kbs

uint32

Arbitration rate (mandatory, must be non-zero)

baudRate_kbs_fd

uint32

Data rate (mandatory, must be non-zero)

alwaysSendOpenedReply

boolean

Always send an opened or errorOpen notification for a successful open request, even if CAN service is already open

alwaysSendClosedReply

boolean

Always send a closed notification for a successful closed request, even if CAN service is already closed

Operations
Name Return type Arguments Description

init

void

PCANData

This protocol is used to transport CAN message frames.

Incoming Messages
Message Type Description

send

CANMessage

disableForwarding

void

Disable forwarding of messages. No messages will be forwarded

enableForwardingWithFilter

DCanFilterConfig

enable the passed can id filters and start forwarding filtered messages. NOTE: The passed filter memory will be used directly. Allocate it static or on the heap and keep it until filters are disabled. NOTE2: Editing filters while they are active might lead to a race condition (depending on threading model and platform) -> disable forwarding first

enableForwarding

void

disable the current filters and start forwarding all messages

Outgoing Messages
Message Type Description

received

CANMessage

PCANCtrl

This protocol is used to manage and configure a CAN service actor.

Incoming Messages
Message Type Description

open

DCanParams

close

void

Outgoing Messages
Message Type Description

opened

void

closed

void

errorOpen

void

errorClose

void

errorSend

void

errorRecv

void

AbstractCANService

Base interface for CAN service actors.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctl

PCANCtrl

regular

external

1

bus

PCANData

regular

external

*

can.platform.MCP2518FDCANService

Actor Classes
Name Description

AMCP2518FDCANService

AMCP2518FDCanServiceTester

AMCP2518FDCANService

Structure

Ports
Name Protocol Type Kind Multiplicity Description

spi

PSPICommunication

conjugated

external

1

spiCtrl

PSPICtrl

conjugated

external

1

ctl

PCANCtrl

regular

external

1

bus

PCANData

regular

external

*

Attributes
Name Type Description

spiWriteBuffer

uint8

spiReadBuffer

uint8

lastSPICmd

DSPICommunicationCommand

mcpDeviceID

uint8

normalOperationMode

uint8

operation mode can be any of: CAN_NORMAL_MODE, CAN_INTERNAL_LOOPBACK_MODE, CAN_EXTERNAL_LOOPBACK_MODE, the initial value must be set in the init transition

lastKnownOperationMode

uint8

nextTxBufferAddress

uint32

nextRxBufferAddress

uint32

currentRxCanMsg

CANMessage

txQueue

CANMessage

TODO: Make a queue out of this

isTxQueueFree

boolean

fifoTxChannel

uint8

fifoRxChannel

uint8

Behavior

Operations
Name Return type Arguments Description

sendCmdViaSPI

void

cmd: uint8, address: uint16, dataSizeInBytes: uint8

startReadingCiCON

void

startWritingCiCON

void

CiCONWord: uint32

startModeChange

void

queueCanMessage

void

msg: CANMessage

completeModeChange

void

newMode: uint8

This operaton must be called directly after the spi operation stared by "startModeChange" completed. It extracts the current register state from the spiReadBuffer before requesting the new state

State Machine
Top Level State
unconnected

(no description)

opening

(no description)

readDeviceID

(no description)

initDevIDRead:

(no description)

waitForDevID:

(no description)

waitForRetry:

(no description)

resetMCP

(no description)

initReset:

(no description)

waitForCompletion:

(no description)

waitForRetry:

(no description)

configureOSC

(no description)

sendCommand:

(no description)

retryTimeout:

(no description)

waitingForComplete:

(no description)

waitForOSCToChange:

(no description)

setSPILowSpeed

(no description)

setSPIHighSpeed

(no description)

configureCanTimings

(no description)

initSend:

(no description)

retryTimeout:

(no description)

waitForSpi:

(no description)

switchToNormalOperationMode

(no description)

initModeChange:

(no description)

spiWaitingPhase1:

(no description)

initPhase2:

(no description)

spiWaitingPhase2:

(no description)

retryTimeout1:

(no description)

retryTimeout2:

(no description)

validateModeChange

(no description)

initReadMode:

(no description)

retryTimeout:

(no description)

configureFifos

(no description)

initTxFifoSetup:

(no description)

waitForSetup1Cpl:

(no description)

initRxFifoSetup:

(no description)

waitForSetup2Cpl:

(no description)

retryTimeout1:

(no description)

retryTimeout2:

(no description)

rxFilterConfig:

(no description)

initDisableFilter0::

(no description)

waitDisableFilter0Cpl::

(no description)

initFilter0Cfg0::

(no description)

waitFilterCfg0Cpl::

(no description)

initEnableFilter0::

(no description)

waitEnableFilter0Cpl::

(no description)

initFilter0Cfg1::

(no description)

waitCfg1Cpl::

(no description)

active

(no description)

active

(no description)

readNextSendBufferAddress

(no description)

initRead:

(no description)

retryTimeout:

(no description)

waitingForReadCpl:

(no description)

dlMessageToMCP2518

(no description)

initDownload:

(no description)

retryTimeout:

(no description)

waitingForDlCpl:

(no description)

initFifoIncAndTXReq:

(no description)

retryTimeout1:

(no description)

waitingForFifoIncCpl:

(no description)

pollRxFifos

(no description)

initFifoStatusRead:

(no description)

waitForFifoStatus:

(no description)

retryTimeout:

(no description)

initReadMsgHeader:

(no description)

waitForReadHeaderCpl:

(no description)

initIncrementFifo:

(no description)

waitForIncrementFifoCpl:

(no description)

initReadMessageBody:

(no description)

waitForReadBody:

(no description)

AMCP2518FDCanServiceTester

RESET: CMD 0x0, A 0x000

READ: CMD 0x3, Address, Data WRITE: CMD 0x2, Address, Data

Clock Config (OSC = : PLL on, SCLKDIV = 1 (40mhz sysclk), CLKODIV = any

For 500kB (CiNBTCFG) (no values for FD mode, CiDBTCFG): BRP: 0 TSEG1: 62 TSEG2: 15 SJW: 15 TDCMOD: 2 // automatic transmitter delay compensation measurement (CiTDC)

Structure

Ports
Name Protocol Type Kind Multiplicity Description

canCtrl

PCANCtrl

conjugated

external

1

canBus

PCANData

conjugated

external

1

spi

PSPICommunication

regular

relay

1

spiCtrl

PSPICtrl

regular

relay

1

Attributes
Name Type Description

counter

uint8

Behavior

State Machine
Top Level State
uninitialized

(no description)

initializing

(no description)

wait

(no description)

can.platform.Stm32CANService

ProtocolClasses
Name Description

PHandleConfig

PStm32CANRuntimeCtl

Enumeration Types
Name Description

ECANSpeed

Data Classes
Name Description

DCANRTConfig

DHandleConfig

DCANBitTiming

Actor Classes
Name Description

AStm32CANService1

AStm32CANService2

AStm32CANServiceGeneric

AStm32CANRuntime

CANServiceTest

ECANSpeed

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

INVALID

0

0x0

0

CUSTOM

1

0x1

1

DCANRTConfig

Attributes
Name Type Description

speedInKbs

uint32

speedInKbs_fd

uint32

DHandleConfig

Attributes
Name Type Description

handleNr

FDCAN_GlobalTypeDef

DCANBitTiming

Attributes
Name Type Description

speed

ECANSpeed

prescaler

uint32

syncjumpwidth

uint32

timeseg1

uint32

timeseg2

uint32

requestedSpeed

uint32

actualSpeed

float32

relativeError

float32

isFD

boolean

PHandleConfig

Incoming Messages
Message Type Description

send

DHandleConfig

Outgoing Messages
Message Type Description

get

void

PStm32CANRuntimeCtl

Incoming Messages
Message Type Description

opened

ETCAN_Mapping

closed

void

error

void

Outgoing Messages
Message Type Description

open

DCANRTConfig

close

void

AStm32CANService1

CAN service for FDCAN1

Structure

Ports
Name Protocol Type Kind Multiplicity Description

hwHandle

PHandleConfig

conjugated

internal

1

ctl

PCANCtrl

regular

relay

1

bus

PCANData

regular

relay

500

Behavior

State Machine
Top Level State
wait

(no description)

AStm32CANService2

CAN service for FDCAN2

Structure

Ports
Name Protocol Type Kind Multiplicity Description

hwHandle

PHandleConfig

conjugated

internal

1

ctl

PCANCtrl

regular

relay

1

bus

PCANData

regular

relay

500

Behavior

State Machine
Top Level State
wait

(no description)

AStm32CANServiceGeneric

Provides common implementation for PCANCtrl and PCANData based on the STM32 CAN runtime. Must be configured with a specific HAL handle.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

itRx

PInterrupt

regular

internal

1

itError

PInterrupt

regular

internal

1

runtimeCtl

PStm32CANRuntimeCtl

regular

internal

1

ctl

PCANCtrl

regular

external

1

bus

PCANData

regular

external

500

handleconfig

PHandleConfig

regular

relay

1

Attributes
Name Type Description

devHandle

FDCAN_HandleTypeDef

devMapping

ETCAN_Mapping

params

DCanParams

errorstatus

FDCAN_ProtocolStatusTypeDef

Behavior

Operations
Name Return type Arguments Description

processReceivedMessages

void

rxfifo: uint32

State Machine
Top Level State
Unconnected

(no description)

Opening

(no description)

Connected

(no description)

Closing

(no description)

AStm32CANRuntime

Handles configuration of CAN hardware and interrupts, interacting with the underlying C HAL layer.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

itRx

PInterrupt

conjugated

external

1

itError

PInterrupt

conjugated

external

1

ctl

PStm32CANRuntimeCtl

conjugated

external

1

handleconfig

PHandleConfig

regular

external

1

Attributes
Name Type Description

mapping

ETCAN_Mapping

devHandle

FDCAN_HandleTypeDef

lastStatus

HAL_StatusTypeDef

bitTiming

DCANBitTiming

bitTiming_fd

DCANBitTiming

CANParameters

DCANRTConfig

Behavior

Operations
Name Return type Arguments Description

initialize

HAL_StatusTypeDef

rtConfig: DCANRTConfig

deinitialize

HAL_StatusTypeDef

State Machine
Top Level State
Closed

(no description)

Open

(no description)

getting_handle

(no description)

CANServiceTest

A smoke test which initializes the AStm32CANService2 and receives and periodically sends messages over the bus.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

CANctl

PCANCtrl

conjugated

internal

1

CANdata

PCANData

conjugated

internal

1

Attributes
Name Type Description

counter

uint8

Behavior

State Machine
Top Level State
Active

(no description)

Initializing

(no description)

FatalError

(no description)

dashboard.signal

ProtocolClasses
Name Description

PSignalLogger

Actor Classes
Name Description

ASignalLogger

PSignalLogger

Conjugated PortClass

Operations
Name Return type Arguments Description

updateValue

void

id: uint8, value: float32

updateEdge

void

id: uint8, value: float32

ASignalLogger

Structure

datamodel.configuration

ProtocolClasses
Name Description

DataConfiguration

Data Classes
Name Description

Value

Int32Value

BooleanValue

Value

Attributes
Name Type Description

id

int32

Int32Value

Attributes
Name Type Description

value

int32

BooleanValue

Attributes
Name Type Description

value

boolean

DataConfiguration

Incoming Messages
Message Type Description

setInt32Value

Int32Value

getInt32Value

int32

setBooleanValue

BooleanValue

getBooleanValue

int32

Outgoing Messages
Message Type Description

updateInt32Value

Int32Value

updateBooleanValue

BooleanValue

datamodel.controller

Actor Classes
Name Description

DataController

DataController

Structure

Ports
Name Protocol Type Kind Multiplicity Description

config

DataConfiguration

regular

external

*

Behavior

Operations
Name Return type Arguments Description

getPointerFromId

voidType

id: int32

State Machine
Top Level State
idle

(no description)

etex.annotations

etex.gateway

Actor Classes
Name Description

GatewayBase

GatewayBase

Structure

Ports
Name Protocol Type Kind Multiplicity Description

dataIn

PStaticPacket

regular

external

1

dataOut

PStaticPacket

conjugated

external

1

etex.staticpacket

ProtocolClasses
Name Description

PStaticPacket

Data Classes
Name Description

DStaticPacket

DStaticPacket

Attributes
Name Type Description

length

int8

buffer

int8

PStaticPacket

Incoming Messages
Message Type Description

sendData

DStaticPacket

etrice.api.annotations

etrice.api.contracts.definitions

etrice.api.contracts.monitors

ProtocolClasses
Name Description

PContractMonitorControl

Actor Classes
Name Description

AContractMonitorBase

PContractMonitorControl

Protocol to get validation status and control monitor behavior.

Incoming Messages
Message Type Description

getAndResetStatus

void

Response is violationStatus

setForwardInvalidMessages

boolean

Catch invalid messages according to contract (default false).

Outgoing Messages
Message Type Description

violationStatus

boolean

Current status: true == violationOccured.

violationOccured

void

Send each time when violation occurs.

AContractMonitorBase

The base class for (generated) monitors. Generated monitors require 'forwardInvalidMessages' and 'onViolation'.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

monitor_ctrl

PContractMonitorControl

regular

external

1

Attributes
Name Type Description

_violation

boolean

forwardInvalidMessages

boolean

Required by generated monitors.

Behavior

Operations
Name Return type Arguments Description

onViolation

void

comment: string

Required by generated monitors.

State Machine
Top Level State

etrice.api.interrupt

ProtocolClasses
Name Description

PInterrupt

PInterrupt

Incoming Messages
Message Type Description

event

void

Conjugated PortClass

Operations
Name Return type Arguments Description

export

PInterruptConjPort

dispatch

void

fire

void

etrice.api.logger

ProtocolClasses
Name Description

PLogger

Protocol for logging text messages.

PLoggerFlush

PLogger

Protocol for logging text messages.

This protocol is a service and can be accessed via an SAP. It provides PortOperations to log (formatted) messages.

logger.log("message");
logger.logF("counter %d", 100);

Conjugated PortClass

Operations
Name Return type Arguments Description

log

void

message: char

Logs a simple message. Appends line separator.

logF

void

format: char, args: voidType

Logs a formatted message with arguments. Appends line separator.

PLoggerFlush

Simple protocol to flush logging.

Incoming Messages
Message Type Description

flush

void

Outgoing Messages
Message Type Description

done

void

etrice.api.tcp

ProtocolClasses
Name Description

PTcpControl

PTcpPayload

Data Classes
Name Description

DTcpControl

DTcpPayload

Actor Classes
Name Description

ATcpServer

ATcpClient

DTcpControl

Attributes
Name Type Description

IPAddr

string

TcpPort

int32

DTcpPayload

Attributes
Name Type Description

connectionId

int32

length

uint32

data

int8

Operations
Name Return type Arguments Description

getMaxLength

uint32

setAsString

void

value: charPtr

setData

void

value: int8, size: uint32, channel: int32

getAsString

charPtr

PTcpControl

Incoming Messages
Message Type Description

connect

DTcpControl

disconnect

void

Outgoing Messages
Message Type Description

connected

void

disconnected

void

error

void

PTcpPayload

Incoming Messages
Message Type Description

dataPackage

DTcpPayload

Outgoing Messages
Message Type Description

dataPackage

DTcpPayload

ATcpServer

Structure

Ports
Name Protocol Type Kind Multiplicity Description

controlPort

PTcpControl

regular

external

1

payloadPort

PTcpPayload

regular

external

1

Attributes
Name Type Description

lastError

int32

payloadRecvBuffer

DTcpPayload

server

etSocketServerData

Behavior

Operations
Name Return type Arguments Description

hasError

boolean

setErrorCode

void

value: int32

State Machine
Top Level State
connected

(no description)

unconnected

(no description)

initError

(no description)

ATcpClient

Structure

Ports
Name Protocol Type Kind Multiplicity Description

controlPort

PTcpControl

regular

external

1

payloadPort

PTcpPayload

regular

external

1

Attributes
Name Type Description

lastError

int32

payloadRecvBuffer

DTcpPayload

client

etSocketConnectionData

Behavior

Operations
Name Return type Arguments Description

hasError

boolean

setErrorCode

void

value: int32

State Machine
Top Level State
unconnected

(no description)

connected

(no description)

initError

(no description)

etrice.api.testcontrol

ProtocolClasses
Name Description

PTestControl

PTestListener

Actor Classes
Name Description

ControllableSequentialTestExecutor

SequentialTestExecutor

PTestControl

Simple protocol to start or stop tests.

Incoming Messages
Message Type Description

start

void

Start test execution.

abort

void

Abort test execution.

Outgoing Messages
Message Type Description

done

boolean

Reply after test execution is done. Status is true if all tests have passed.

PTestListener

Outgoing Messages
Message Type Description

started

void

Test case started.

finished

void

Test case finished.

ControllableSequentialTestExecutor

Structure

Ports
Name Protocol Type Kind Multiplicity Description

exeControl

PTestControl

regular

external

1

control

PTestControl

conjugated

external

*

Attributes
Name Type Description

current

int16

overallSuccess

boolean

Behavior

State Machine
Top Level State
execute

(no description)

idle

(no description)

aborted

(no description)

SequentialTestExecutor

SequentialTestExecutor that starts automatically.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

control

PTestControl

conjugated

external

*

Attributes
Name Type Description

current

int16

Behavior

State Machine
Top Level State
execute

(no description)

etrice.api.testselect

ProtocolClasses
Name Description

PSelectableTest

Enumeration Types
Name Description

ETestStatus

Data Classes
Name Description

DTestId

DTestStatus

DTestOption

ETestStatus

The literals of this enumeration are based on PrimitiveType int8.

Literals
Name Value Hex Value Binary Value

STARTED

0

0x0

0

FINISHED

1

0x1

1

FAILED

2

0x2

10

CANCELLED

3

0x3

11

SKIPPED

4

0x4

100

DTestId

Attributes
Name Type Description

name

char

index

int16

Operations
Name Return type Arguments Description

setName

void

value: charPtr

DTestStatus

Attributes
Name Type Description

id

DTestId

status

ETestStatus

DTestOption

Attributes
Name Type Description

name

char

value

char

PSelectableTest

Incoming Messages
Message Type Description

update

DTestStatus

done

void

Outgoing Messages
Message Type Description

start

DTestId

setOption

DTestOption

cancel

void

startAll

void

etrice.api.timer

ProtocolClasses
Name Description

PTimer

PTimerSupervisionControl

Data Classes
Name Description

DStartTimer

Actor Classes
Name Description

ATimerService

DStartTimer

Attributes
Name Type Description

timeMs

uint32

timeId

uint16

PTimer

Defines the communication protocol to control a single timer.

Incoming Messages
Message Type Description

startTimer

uint32

Start a timer that notifies every time the specified period in milliseconds expires. This has no effect if there is already an active timer or timeout.

startTimeout

uint32

Start a timeout that notifies once when the specified duration in milliseconds expires. This has no effect if there is already an active timer or timeout.

kill

void

Stop an active timer or timeout. This has no effect if neither a timer nor a timeout is active.

_startTimer

DStartTimer

_startTimeout

DStartTimer

Outgoing Messages
Message Type Description

timeout

void

Inform about an expired timer or timeout.

_timeout

uint16

PTimerSupervisionControl

Incoming Messages
Message Type Description

restTimerDeviationHighWaterMark

void

Reset the deviation high water mark.

getTimerDeviationHighWaterMark

void

Request the deviation high water mark.

Outgoing Messages
Message Type Description

timerDeviationHighWaterMark

uint32

Inform about the deviation high water mark in microseconds.

ATimerService

Provides a service to create and control timers. The service runs according to the polling interval of its assigned physical thread, meaning that the effective resolution of the timeouts sent by the service is bounded by the polling interval.

Late Periodic Timeout Recovery:
It is possible that a periodic timeout is late enough, that the next scheduled timeout would already be in the past. In this case, the service will attempt to recover by rescheduling the timeout for the current time plus period interval. This recovery attempt is intended to mitigate the scenario where too many late timeouts overrun the message service.

Structure

Attributes
Name Type Description

usedTcbsRoot

tcb

timerDeviationHighWaterMark

targetTime

Behavior

Operations
Name Return type Arguments Description

removeTcbFromUsedList

void

idx: int32

putTcbToUsedList

void

block: tcb

getTime

void

t: targetTime

queueTcb

void

ifitem: voidType, startTimer: DStartTimer, periodic: boolean

State Machine
Top Level State
Operational

(no description)

etrice.api.tracer

ProtocolClasses
Name Description

PTracer

PTracer

Protocol to control tracing.

Incoming Messages
Message Type Description

start

void

Start recording traces

stop

void

Stop recording traces

flush

void

Write recorded traces and create diagram

Outgoing Messages
Message Type Description

done

void

flush() done

etrice.api.types

minihil.api.adapters.adc

ProtocolClasses
Name Description

PADCControl

Configuration and control of an ADC Adapter

PADCIn

Data Classes
Name Description

DADCConfiguration

Actor Classes
Name Description

AADCAdapter2Channel_2

AADCAdapter2Channel

DADCConfiguration

Attributes
Name Type Description

autostart

boolean

numberOfChannels

uint8

PADCControl

Configuration and control of an ADC Adapter

PADCControl
Incoming Messages
Message Type Description

configure

DADCConfiguration

Configures the Adapter. Must be done before the adapter can be used. Can only be done once!

startConversion

void

start continuous conversion. Not needed if autostart config is used.

stopConversion

void

stop continuous conversion. Note: Requesting adc channel values after the conversion has been stopped will give you stale values.

Outgoing Messages
Message Type Description

configurationComplete

void

Notification once the configuration has been completed

PADCIn

Incoming Messages
Message Type Description

enableLowerThanEvent

uint32

Get a new value once the measured value is lower than the specified voltage (in mv). The event will be disabled once it has been dispatched. Note: You will also get a new value if the measured value was already lower than your threshold. Note2: Events will only be checked and dispatched every 1 ms.

enableHigherThanEvent

uint32

Get a new value once the measured value is higher than the specified voltage (in mv). The event will be disabled once it has been dispatched. Note: You will also get a new value if the measured value was already higher than your threshold. Note2: Events will only be checked and dispatched every 1 ms.

disableLowerThanEvent

uint32

Cancel the currently active lower than event

disableHigherThanEvent

uint32

Cancel the currently active higher than event

getValueEveryXMS

uint32

get a value every x ms

getValue

void

request a single value

stopGetValue

void

stop getting a value every x ms

Outgoing Messages
Message Type Description

newValue

uint32

A new ADC value in mv

AADCAdapter2Channel_2

Structure

Ports
Name Protocol Type Kind Multiplicity Description

config

PADCControl

conjugated

internal

1

channel1

PADCIn

regular

relay

1

channel2

PADCIn

regular

relay

1

Behavior

State Machine
Top Level State
configuring

(no description)

active

(no description)

AADCAdapter2Channel

Structure

Ports
Name Protocol Type Kind Multiplicity Description

config

PADCControl

conjugated

internal

1

channel1

PADCIn

regular

relay

1

channel2

PADCIn

regular

relay

1

Behavior

State Machine
Top Level State
configuring

(no description)

active

(no description)

minihil.api.adapters.analogswitches

Actor Classes
Name Description

AAnalogSwitches

AAnalogSwitches

Structure

Ports
Name Protocol Type Kind Multiplicity Description

as0

POnOff

regular

external

1

as1

POnOff

regular

external

1

as2

POnOff

regular

external

1

as3

POnOff

regular

external

1

as4

POnOff

regular

external

1

as5

POnOff

regular

external

1

as6

POnOff

regular

external

1

as7

POnOff

regular

external

1

Behavior

State Machine
Top Level State
state0

(no description)

minihil.api.adapters.dac

Actor Classes
Name Description

ADACCtrl

ADACCtrlTester

ADACCtrl

This actor adapts the PAnOut protocol to the two MCU DAC Channels available on the "AnalogOut" header. The channel 1 port controls pin "DAC_0" The channel 2 port controls pin "DAC_1"

Structure

Ports
Name Protocol Type Kind Multiplicity Description

channel1

PAnOut

regular

external

5

channel2

PAnOut

regular

external

5

Behavior

Operations
Name Return type Arguments Description

initDac

void

convertMvToAdcValue

uint32

mV: uint32

State Machine
Top Level State
active

(no description)

ADACCtrlTester

Structure

Ports
Name Protocol Type Kind Multiplicity Description

channel1

PAnOut

conjugated

external

1

channel2

PAnOut

conjugated

external

1

Attributes
Name Type Description

angle_rad

float32

ch2Value

uint32

Behavior

State Machine
Top Level State
active

(no description)

fixeValue

(no description)

minihil.api.adapters.gui

Actor Classes
Name Description

AGuiAdapterBoolean1

AGuiAdapterBoolean1

Structure

Ports
Name Protocol Type Kind Multiplicity Description

conf1

PGuiAdapterConfig

conjugated

internal

1

conf2

PGuiAdapterConfig

conjugated

internal

1

conf3

PGuiAdapterConfig

conjugated

internal

1

conf4

PGuiAdapterConfig

conjugated

internal

1

bool1

POnOff

regular

relay

1

bool2

POnOff

regular

relay

1

bool3

POnOff

regular

relay

1

bool4

POnOff

regular

relay

1

Behavior

State Machine
Top Level State
active

(no description)

minihil.api.adapters.hwmmi

ProtocolClasses
Name Description

PLedBarCtrl

PAdc

PDipSwitchesCtrl

Actor Classes
Name Description

AHWMMI

ALedBar

ARGBLeds

AI2CInputChecker

ADipSwitches

A5Potis

PLedBarCtrl

Incoming Messages
Message Type Description

setPattern

uint16

PAdc

Incoming Messages
Message Type Description

start

uint8

stop

void

Outgoing Messages
Message Type Description

newValue

uint32

Voltage in mV

PDipSwitchesCtrl

Incoming Messages
Message Type Description

getPattern

void

Outgoing Messages
Message Type Description

pattern

uint32

AHWMMI

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ledBar

PLedBarCtrl

regular

relay

1

ledGreen

POnOff

regular

relay

1

ledRed

POnOff

regular

relay

1

ledBlue

POnOff

regular

relay

1

s1

POnOff

conjugated

relay

1

s2

POnOff

conjugated

relay

1

s3

POnOff

conjugated

relay

1

s4

POnOff

conjugated

relay

1

s5

POnOff

conjugated

relay

1

s6

POnOff

conjugated

relay

1

switches

PDipSwitchesCtrl

regular

relay

1

poti1

PAdc

regular

relay

1

poti2

PAdc

regular

relay

1

poti3

PAdc

regular

relay

1

poti4

PAdc

regular

relay

1

poti5

PAdc

regular

relay

1

ALedBar

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PLedBarCtrl

regular

external

1

Behavior

State Machine
Top Level State
state0

(no description)

ARGBLeds

Structure

Ports
Name Protocol Type Kind Multiplicity Description

green

POnOff

regular

external

1

red

POnOff

regular

external

1

blue

POnOff

regular

external

1

Behavior

State Machine
Top Level State
state0

(no description)

AI2CInputChecker

Structure

Ports
Name Protocol Type Kind Multiplicity Description

s1

POnOff

conjugated

external

1

s2

POnOff

conjugated

external

1

s3

POnOff

conjugated

external

1

s4

POnOff

conjugated

external

1

s5

POnOff

conjugated

external

1

s6

POnOff

conjugated

external

1

Behavior

Operations
Name Return type Arguments Description

checkInputs

void

State Machine
Top Level State
state0

(no description)

ADipSwitches

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PDipSwitchesCtrl

regular

external

1

Behavior

State Machine
Top Level State
state0

(no description)

A5Potis

Structure

Ports
Name Protocol Type Kind Multiplicity Description

poti1

PAdc

regular

external

1

poti2

PAdc

regular

external

1

poti3

PAdc

regular

external

1

poti4

PAdc

regular

external

1

poti5

PAdc

regular

external

1

Behavior

State Machine
Top Level State
state0

(no description)

minihil.api.adapters.interrupts

ProtocolClasses
Name Description

PInterruptCfg

Data Classes
Name Description

DInterruptCfg

Actor Classes
Name Description

AInterruptAdapter0_PG0

AInterruptAdapter1_PG1

AInterruptAdapter2_PG2

AInterruptAdapter3_PG3

DInterruptCfg

Attributes
Name Type Description

edge

uint8

0=> disable; 1=> rising; 2=> falling; 3=> both

prio

uint8

0..15

pullUpDown

uint8

0=> no; 1=> pullUp; 2=> pullDown

PInterruptCfg

Incoming Messages
Message Type Description

config

DInterruptCfg

AInterruptAdapter0_PG0

interrupt adapter for PG0

Structure

Ports
Name Protocol Type Kind Multiplicity Description

cfg

PInterruptCfg

regular

external

1

isr

PInterrupt

conjugated

external

1

Behavior

Operations
Name Return type Arguments Description

configHw

void

param: DInterruptCfg

State Machine
Top Level State
state0

(no description)

AInterruptAdapter1_PG1

interrupt adapter for PG1

Structure

Ports
Name Protocol Type Kind Multiplicity Description

cfg

PInterruptCfg

regular

external

1

isr

PInterrupt

conjugated

external

1

Behavior

Operations
Name Return type Arguments Description

configHw

void

param: DInterruptCfg

State Machine
Top Level State
state0

(no description)

AInterruptAdapter2_PG2

interrupt adapter for PG2

Structure

Ports
Name Protocol Type Kind Multiplicity Description

cfg

PInterruptCfg

regular

external

1

isr

PInterrupt

conjugated

external

1

Behavior

Operations
Name Return type Arguments Description

configHw

void

param: DInterruptCfg

State Machine
Top Level State
state0

(no description)

AInterruptAdapter3_PG3

interrupt adapter for PG3

Structure

Ports
Name Protocol Type Kind Multiplicity Description

cfg

PInterruptCfg

regular

external

1

isr

PInterrupt

conjugated

external

1

Behavior

Operations
Name Return type Arguments Description

configHw

void

param: DInterruptCfg

State Machine
Top Level State
state0

(no description)

minihil.api.adapters.io

Actor Classes
Name Description

AAnOutAdapter00to03

AAnOutAdapter04to07

AAnOutAdapter08to11

AAnOutAdapter12to15

ADigOutAdapter16to19

ADigOutAdapter20to23

ADigOutAdapter24to27

ADigOutAdapter28to31

ADigInAdapter00to03

ADigInAdapter04to07

ADigInAdapter08to11

ADigInAdapter12to15

ADigInToOnOffAdapter

AOnOffToDigOutAdapter

AAnOutAdapter00to03

analog out adapter for anOUT 00 - 03

Structure

Ports
Name Protocol Type Kind Multiplicity Description

anOut00

PAnOut

regular

relay

5

anOut01

PAnOut

regular

relay

5

anOut02

PAnOut

regular

relay

5

anOut03

PAnOut

regular

relay

5

AAnOutAdapter04to07

analog out adapter for anOUT 04 - 07

Structure

Ports
Name Protocol Type Kind Multiplicity Description

anOut04

PAnOut

regular

relay

5

anOut05

PAnOut

regular

relay

5

anOut06

PAnOut

regular

relay

5

anOut07

PAnOut

regular

relay

5

AAnOutAdapter08to11

analog out adapter for anOUT 08 - 11

Structure

Ports
Name Protocol Type Kind Multiplicity Description

anOut08

PAnOut

regular

relay

5

anOut09

PAnOut

regular

relay

5

anOut10

PAnOut

regular

relay

5

anOut11

PAnOut

regular

relay

5

AAnOutAdapter12to15

analog out adapter for anOUT 12 - 15

Structure

Ports
Name Protocol Type Kind Multiplicity Description

anOut12

PAnOut

regular

relay

5

anOut13

PAnOut

regular

relay

5

anOut14

PAnOut

regular

relay

5

anOut15

PAnOut

regular

relay

5

ADigOutAdapter16to19

digital out adapter for digOUT 16 - 19

Structure

Ports
Name Protocol Type Kind Multiplicity Description

digOut16

PDigOut

regular

relay

5

digOut17

PDigOut

regular

relay

5

digOut18

PDigOut

regular

relay

5

digOut19

PDigOut

regular

relay

5

ADigOutAdapter20to23

digital out adapter for digOUT 20 - 23

Structure

Ports
Name Protocol Type Kind Multiplicity Description

digOut20

PDigOut

regular

relay

5

digOut21

PDigOut

regular

relay

5

digOut22

PDigOut

regular

relay

5

digOut23

PDigOut

regular

relay

5

ADigOutAdapter24to27

digital out adapter for digOUT 24 - 27

Structure

Ports
Name Protocol Type Kind Multiplicity Description

digOut24

PDigOut

regular

relay

5

digOut25

PDigOut

regular

relay

5

digOut26

PDigOut

regular

relay

5

digOut27

PDigOut

regular

relay

5

ADigOutAdapter28to31

digital out adapter for digOUT 28 - 31

Structure

Ports
Name Protocol Type Kind Multiplicity Description

digOut28

PDigOut

regular

relay

5

digOut29

PDigOut

regular

relay

5

digOut30

PDigOut

regular

relay

5

digOut31

PDigOut

regular

relay

5

ADigInAdapter00to03

digital in adapter for digIN 00 - 03

Structure

Ports
Name Protocol Type Kind Multiplicity Description

digIn00

PDigIn

regular

relay

5

digIn01

PDigIn

regular

relay

5

digIn02

PDigIn

regular

relay

5

digIn03

PDigIn

regular

relay

5

ADigInAdapter04to07

digital in adapter for digIN 04 - 07

Structure

Ports
Name Protocol Type Kind Multiplicity Description

digIn04

PDigIn

regular

relay

5

digIn05

PDigIn

regular

relay

5

digIn06

PDigIn

regular

relay

5

digIn07

PDigIn

regular

relay

5

ADigInAdapter08to11

digital in adapter for digIN 08 - 11

Structure

Ports
Name Protocol Type Kind Multiplicity Description

digIn08

PDigIn

regular

relay

5

digIn09

PDigIn

regular

relay

5

digIn10

PDigIn

regular

relay

5

digIn11

PDigIn

regular

relay

5

ADigInAdapter12to15

digital in adapter for digIN 12 - 15

Structure

Ports
Name Protocol Type Kind Multiplicity Description

digIn12

PDigIn

regular

relay

5

digIn13

PDigIn

regular

relay

5

digIn14

PDigIn

regular

relay

5

digIn15

PDigIn

regular

relay

5

ADigInToOnOffAdapter

Adapts four ports of type PDigIn to four POnOffPorts This adapter does not support the connection mechanism of the PDigIn protocol. You can use a ADigInAdapter00to03 or similar to automatically connect the necessary pins. inputHigh is mapped to on inputLow is mapped to off

Structure

Ports
Name Protocol Type Kind Multiplicity Description

onOff0

POnOff

conjugated

external

5

onOff1

POnOff

conjugated

external

5

onOff2

POnOff

conjugated

external

5

onOff3

POnOff

conjugated

external

5

digIn0

PDigIn

conjugated

external

1

digIn1

PDigIn

conjugated

external

1

digIn2

PDigIn

conjugated

external

1

digIn3

PDigIn

conjugated

external

1

Behavior

State Machine
Top Level State
active

(no description)

AOnOffToDigOutAdapter

Adapts four ports of type POnOff to four PDigOutPorts This adapter does not support the connection mechanism of the PDigOut protocol. You can use a ADigOutAdapter15to19 or similar to automatically connect the necessary pins. on is mapped to setOutputHigh off is mapped to setOutputLow

Structure

Ports
Name Protocol Type Kind Multiplicity Description

onOffIn0

POnOff

regular

external

1

onOffIn1

POnOff

regular

external

1

onOffIn2

POnOff

regular

external

1

onOffIn3

POnOff

regular

external

1

digOut0

PDigOut

conjugated

external

5

digOut1

PDigOut

conjugated

external

5

digOut2

PDigOut

conjugated

external

5

digOut3

PDigOut

conjugated

external

5

Behavior

State Machine
Top Level State
active

(no description)

minihil.api.adapters.ledbar

ProtocolClasses
Name Description

PLedbarWrapper

Actor Classes
Name Description

ALedBarFromSingleLEDAdapter

ALedbarWrapper

PLedbarWrapper

Incoming Messages
Message Type Description

setLed0

void

setLed1

void

setLed2

void

setLed3

void

setLed4

void

setLed5

void

setLed6

void

setLed7

void

setLed8

void

setLed9

void

resetLed0

void

resetLed1

void

resetLed2

void

resetLed3

void

resetLed4

void

resetLed5

void

resetLed6

void

resetLed7

void

resetLed8

void

resetLed9

void

ALedBarFromSingleLEDAdapter

Structure

Ports
Name Protocol Type Kind Multiplicity Description

led0

POnOff

regular

external

5

led1

POnOff

regular

external

5

led2

POnOff

regular

external

5

led3

POnOff

regular

external

5

led4

POnOff

regular

external

5

led5

POnOff

regular

external

5

led6

POnOff

regular

external

5

led7

POnOff

regular

external

5

led8

POnOff

regular

external

5

led9

POnOff

regular

external

5

ledBar

PLedBarCtrl

conjugated

external

1

Attributes
Name Type Description

actualPattern

uint16

Behavior

State Machine
Top Level State
state0

(no description)

ALedbarWrapper

Structure

Ports
Name Protocol Type Kind Multiplicity Description

fct

PLedbarWrapper

regular

external

10

ledBar

PLedBarCtrl

conjugated

external

1

Attributes
Name Type Description

actualPattern

uint16

Behavior

State Machine
Top Level State
state0

(no description)

minihil.api.adapters.pwmgenerator

ProtocolClasses
Name Description

PPwmGeneratorCtrl

Protocol to interact with a pwm generator actor

Actor Classes
Name Description

APwmGenerator1

A pwm generator. See PPwmGeneratorCtrl for usage instructions. Tested frequencies are 100 Hz to 120 kHz. The duty resolution is gradually lowered above 20 kHz.

APwmGenerator2

A pwm generator. See PPwmGeneratorCtrl for usage instructions. Tested frequencies are 100 Hz to 120 kHz. The duty resolution is gradually lowered above 20 kHz.

APwmGenerator3

A pwm generator. See PPwmGeneratorCtrl for usage instructions. Tested frequencies are 100 Hz to 120 kHz. The duty resolution is gradually lowered above 20 kHz.

PPwmGeneratorCtrl

Protocol to interact with a pwm generator actor

MSC-PPwmGeneratorCtrl
Incoming Messages
Message Type Description

initialize

uint32

Initializes the timer hardware. Parameter: The desired pwm frequency in Hz

setDuty

int16

Sets the pwm duty. Parameter: The desired duty times 10000. E.g. 10000 = 100%, 5000 = 50%, 2500 = 25%

setFrequency

uint32

Sets the desired pwm frequency. This is not synchronized with the currently active pwm -> The wave form will not fluently change from its current frequency to the new one. It is recommended to set the duty to 0% before changing the frequency to avoid undesired intermediate wave forms.

Outgoing Messages
Message Type Description

initDone

void

reply to the initialize message once the hardware is initialized.

setFrequencyDone

void

reply to the setFrequency message once the frequency has been changed.

APwmGenerator1

A pwm generator. See PPwmGeneratorCtrl for usage instructions. Tested frequencies are 100 Hz to 120 kHz. The duty resolution is gradually lowered above 20 kHz.
This pwm generator uses tim16 and outputs its pwm on pin PF6.

Note
Only one instance of this actor can be used.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PPwmGeneratorCtrl

regular

relay

3

APwmGenerator2

A pwm generator. See PPwmGeneratorCtrl for usage instructions. Tested frequencies are 100 Hz to 120 kHz. The duty resolution is gradually lowered above 20 kHz.
This pwm generator uses tim12 and outputs its pwm on pin PH6.

Note
Only one instance of this actor can be used.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PPwmGeneratorCtrl

regular

relay

3

APwmGenerator3

A pwm generator. See PPwmGeneratorCtrl for usage instructions. Tested frequencies are 100 Hz to 120 kHz. The duty resolution is gradually lowered above 20 kHz.
This pwm generator uses tim13 and outputs its pwm on pin PA6.

Note
Only one instance of this actor can be used.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PPwmGeneratorCtrl

regular

relay

3

minihil.api.adapters.pwmsensor

ProtocolClasses
Name Description

PPwmSensorCtrl

PPWMSensorConfig

Data Classes
Name Description

DPwmParams

Actor Classes
Name Description

APwmSensor1

APwmSensor2

APwmSensor3

DPwmParams

Attributes
Name Type Description

frequency

uint32

frequency in HZ. This value is only reliable if 0% < duty < 100% !

duty

uint32

duty (on / period length) times 10000. -> 100% duty -> value = 10000. 50% duty -> value = 5000

PPwmSensorCtrl

Protocol to interact with a pwm sensor actor

Incoming Messages
Message Type Description

getFrequency

void

Requests the current PWM frequency. See frequency reply for more info.

getDuty

void

Requests the current PWM duty. See duty reply for more info.

getMeasurement

void

Requests a single measurement (duty + frequency)

getMeasurementEveryXms

uint32

Request a measurement (duty + frequency) every X ms

stopGetMeasurement

void

Stop the currently active measurement subscription

setLowCutOffFrequency

uint32

Set the minimum frequency (in Hz) which you expect the PWM signal to have. This is needed to detect 0 or 100% PWM duty. If you set this too low it takes a long time until a 0 / 100% duty value is detected. If you set it too high, duties other than 0 and 100% will not be detected anymore.

Outgoing Messages
Message Type Description

params

DPwmParams

Pay load is a single measurement (duty + frequency). See duty and frequency reply for info about the encoding and limitations.

duty

uint32

message pay load is duty (on / period length) times 10000. -> 100% duty -> value = 10000. 50% duty -> value = 5000

frequency

uint32

message pay load is PWM frequency in Hz. This value is only reliable if 0% < duty < 100% !

PPWMSensorConfig

Incoming Messages
Message Type Description

setLowCutOffFrequency

uint32

Set the minimum frequency (in Hz) which you expect the PWM signal to have. This is needed to detect 0 or 100% PWM duty. If you set this too low it takes a long time until a 0 / 100% duty value is detected. If you set it too high, duties other than 0 and 100% will not be detected anymore.

APwmSensor1

Measures PWM frequency and duty using a hardware timer. (Tim3)

16 bit timer, 4 MHZ tick frequency. Lowest measurable PWM frequency is ~ 62 Hz

InputPin: PC6

Measurement resolution depends on the frequency of the measured PWM signal. E.g.: 20 kHz PWM -> Res: ~ 0.5 %, 10 kHz PWM -> Res: ~ 0.25 %, 1 kHz PWM -> Res: 0.025 %

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PPwmSensorCtrl

regular

relay

2

APwmSensor2

Measures PWM frequency and duty using a hardware timer. (Tim2)

32 bit timer, 200 MHZ tick frequency. Lowest measurable PWM frequency is ~ 0.05 Hz

InputPin: PA0

Measurement resolution depends on the frequency of the measured PWM signal. E.g.: 20 kHz PWM -> Res: ~ 0.01 %, 10 kHz PWM -> Res: ~ 0.005 %, 1 kHz PWM -> Res: 0.0005 %

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PPwmSensorCtrl

regular

relay

2

APwmSensor3

Measures PWM frequency and duty using a hardware timer. (Tim12)

16 bit timer, 4 MHZ tick frequency. Lowest measurable PWM frequency is ~ 62 Hz

InputPin: PH6

Measurement resolution depends on the frequency of the measured PWM signal. E.g.: 20 kHz PWM -> Res: ~ 0.5 %, 10 kHz PWM -> Res: ~ 0.25 %, 1 kHz PWM -> Res: 0.025 %

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PPwmSensorCtrl

regular

relay

2

minihil.api.adapters.uart

ProtocolClasses
Name Description

PFixedSizePacketCommunication

PVariableSizePacketCommunication

PUartControl

Configuration and control of a UART communication

PVariableSizeUartControl

Configuration and control of a UART communication using variable size packages and timeout based synchronization

Enumeration Types
Name Description

EUartDataBits

EParity

EStopBits

Data Classes
Name Description

DFixedSizePacket32Byte

DVariableSizePacket40Byte

DPlatformUartConfig

DUartConfiguration

DUartVariableSizeConfiguration

EUartDataBits

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

DATA_BITS_7

0

0x0

0

DATA_BITS_8

1

0x1

1

DATA_BITS_9

2

0x2

10

EParity

Parity setting for UART communication

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

NONE

0

0x0

0

EVEN

1

0x1

1

ODD

2

0x2

10

EStopBits

Stop Bit settings for UART communication

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

STOPBITS_0_5

0

0x0

0

STOPBITS_1

1

0x1

1

STOPBITS_1_5

2

0x2

10

STOPBITS_2

3

0x3

11

DFixedSizePacket32Byte

Data packet for packet communication with a maximum of 32 bytes

Attributes
Name Type Description

len

uint16

length of the data

buffer

uint8

data buffer

Operations
Name Return type Arguments Description

setData

void

length: uint16, data: uint8

deep copy data to buffer

DVariableSizePacket40Byte

Data packet of variable size (<= 40 byte)

Attributes
Name Type Description

len

uint16

length of the data

buffer

uint8

data buffer

Operations
Name Return type Arguments Description

setData

void

length: uint16, data: uint8

deep copy data to buffer

DPlatformUartConfig

Attributes
Name Type Description

uartBaudrate

uint32

baudrate between 1200 and 4_500_000

uartDatabits

EUartDataBits

See @EUartDataBits

uartParity

EParity

parity: EParity.NONE, EParity.EVEN, EParity.ODD

uartStopbits

EStopBits

stopbits see EStopBits for options

enableHWFlowControl

boolean

enable HW flow control with RTS/CTS (may not be available in HW)

enableRS485

boolean

enable RS485 mode (may not be available in HW)

Operations
Name Return type Arguments Description

getPlatformConfig

TPlatformUartConfig

DUartConfiguration

DataClass used to configure a sync-byte synchronized UART adapter for fixed size packages

Attributes
Name Type Description

packet_size

uint16

packet size for fixed size package protocols

startByte

uint8

The start byte to use for each packet (used for synchronization)

DUartVariableSizeConfiguration

DataClass used to configure a timeout synchronized UART adapter

Attributes
Name Type Description

baudrate

uint32

baudrate between 1200 and 4_500_000

databits

uint16

databits 7 or 8

Note: The type of this field might be changed to an enum type in the future.

parity

EParity

parity: EParity.NONE, EParity.EVEN, EParity.ODD

stopbits

EStopBits

stopbits see EStopBits for options

initialByteCount

uint16

receiverCallback

ETUartReceiverCallback

PFixedSizePacketCommunication

packet communication for sending and receiving static packages (fixed size)

Incoming Messages
Message Type Description

sendPacket

DFixedSizePacket32Byte

sending a static data package

Outgoing Messages
Message Type Description

receivedPacket

DFixedSizePacket32Byte

receiving a static data Package

sendDone

void

response to sendPackage

PVariableSizePacketCommunication

packet communication for sending packets of variable size

Incoming Messages
Message Type Description

sendPacket

DVariableSizePacket40Byte

sending a data package. The len value from the transition data will be send as first byte

Outgoing Messages
Message Type Description

receivedPacket

DVariableSizePacket40Byte

receiving a data packet. The received length will be stored in the len field of the transition data

sendDone

void

response to sendPackage

PUartControl

Configuration and control of a UART communication

PUartControl
Incoming Messages
Message Type Description

configureUart

DUartConfiguration

configure UART communication

enableReceiveData

void

start receiving data

disableReceiveData

void

stop receiving data. Depending on the underlying implementation the next received packet might still be delivered.

Outgoing Messages
Message Type Description

configurationComplete

void

Reply once the configuration is completed

PVariableSizeUartControl

Configuration and control of a UART communication using variable size packages and timeout based synchronization

PVariableSizeUartControl
Incoming Messages
Message Type Description

configureUart

DUartVariableSizeConfiguration

configure UART communication

enableReceiveData

void

start receiving data

disableReceiveData

void

stop receiving data. Depending on the underlying implementation the next received packet might still be delivered.

Outgoing Messages
Message Type Description

configurationComplete

void

Reply once the configuration is completed

minihil.api.adapters.uart1

Actor Classes
Name Description

AUart1Adapter

AUart1VariableSizeAdapter

AUart1Adapter

Provides fixed packet size uart communication via a hardware uart interface. Currently it only supports asynchronous operation without additional flow control

NOTE: There can only be one instance of this actor class in your model! as this actor is linked to concrete hardware.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

comm

PFixedSizePacketCommunication

regular

relay

1

config

PUartControl

regular

relay

1

AUart1VariableSizeAdapter

Structure

Ports
Name Protocol Type Kind Multiplicity Description

comm

PVariableSizePacketCommunication

regular

relay

1

config

PVariableSizeUartControl

regular

relay

1

minihil.api.adapters.uart2

Actor Classes
Name Description

AUart2Adapter

AUart2VariableSizeAdapter

AUart2VariableSizeAdapterV2

AUart2Adapter

Provides fixed packet size uart communication via a hardware uart interface. Currently it only supports asynchronous operation without additional flow control

NOTE: There can only be one instance of this actor class in your model! as this actor is linked to concrete hardware.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

comm

PFixedSizePacketCommunication

regular

relay

1

config

PUartControl

regular

relay

1

AUart2VariableSizeAdapter

Structure

Ports
Name Protocol Type Kind Multiplicity Description

comm

PVariableSizePacketCommunication

regular

relay

1

config

PVariableSizeUartControl

regular

relay

1

AUart2VariableSizeAdapterV2

Structure

Ports
Name Protocol Type Kind Multiplicity Description

comm

PVariableSizePacketCommunication

regular

relay

1

config

PVariableSizeUartControl

regular

relay

1

minihil.api.adapters.virtualhw

Actor Classes
Name Description

AVirtualHardwareAdapter

AVirtualHardwareAdapter

TODO Documentation

Structure

Ports
Name Protocol Type Kind Multiplicity Description

vPoti1

PAdc

regular

external

1

vPoti2

PAdc

regular

external

1

vPoti3

PAdc

regular

external

1

vPoti4

PAdc

regular

external

1

vButton1

POnOff

conjugated

external

1

vButton2

POnOff

conjugated

external

1

vButton3

POnOff

conjugated

external

1

vButton4

POnOff

conjugated

external

1

vLed1

POnOff

regular

external

1

vLed2

POnOff

regular

external

1

vLed3

POnOff

regular

external

1

vLed4

POnOff

regular

external

1

vJumper1

POnOff

conjugated

external

1

vJumper2

POnOff

conjugated

external

1

vJumper3

POnOff

conjugated

external

1

vJumper4

POnOff

conjugated

external

1

vJumper5

POnOff

conjugated

external

1

vJumper6

POnOff

conjugated

external

1

Attributes
Name Type Description

potiValues

uint32

Behavior

State Machine
Top Level State
handleDataConfig

(no description)

minihil.api.analog

ProtocolClasses
Name Description

PAnOut

Protocol for access to analog hardware output

PAnIn

PAnOut

Protocol for access to analog hardware output

Works via Ports and SAPs. For SAPs the connect message has to be called to specify a specific output channel.

MSC-PAnOut-as-Port
MSC-PAnOut-as-SAP-SPP
Incoming Messages
Message Type Description

connect

EUser_AnalogOutputs

connect to a specific output channel - only needed for SAPs

disconnect

void

disconnect from output channel - only needed for SAPs

setValue

uint32

setting output to a specific value in milli volt (e.g. 2100 = 2100 mV = 2.1 V)

Outgoing Messages
Message Type Description

done

void

reply to connect

disconnected

void

reply to disconnect

PAnIn

Incoming Messages
Message Type Description

connect

EUser_AnalogInputs

connect to a specific output channel - only needed for SAPs

disconnect

void

disconnect from output channel - only needed for SAPs

start

uint32

start periodical update of input in milli seconds (every n milliseconds)

stop

void

stop periodical

Outgoing Messages
Message Type Description

done

void

reply to connect

disconnected

void

reply to disconnect

newValue

uint32

periodical message with new value (only after call of start)

error

void

error notification

minihil.api.datetime

ProtocolClasses
Name Description

PDateTime

Data Classes
Name Description

DDateTime

DDateTime

Attributes
Name Type Description

dateTime

RTC_DateTime

isValid

boolean

PDateTime

Incoming Messages
Message Type Description

getDateTime

void

Outgoing Messages
Message Type Description

dateTime

DDateTime

minihil.api.digital

ProtocolClasses
Name Description

PDigIn

Protocol for access to digital hardware input

PDigOut

Protocol for access to digital hardware output

PDigIn

Protocol for access to digital hardware input

Works via Ports and SAPs. For SAPs the connect message has to be called to specify a specific input channel.

MSC-PDigIn-as-Port
MSC-PDigIn-as-SAP-SPP
Incoming Messages
Message Type Description

connect

EUser_DigitalInputs

connect to a specific input channel - only needed for SAPs

disconnect

void

disconnect from input channel - only needed for SAPs

requestLastState

void

requests a new message with the actual pin state. Same as "getLastState" but asynchronous

Outgoing Messages
Message Type Description

inputHigh

void

notification for change to input high

inputLow

void

notification for change to input low

done

void

reply to disconnect

disconnected

void

may be sent as reply to requestLastState, also may be sent in case of disconnect during connect (if already connected)

Conjugated PortClass

Operations
Name Return type Arguments Description

getLastState

uint8

synchronous operation to poll last received state of input

PDigOut

Protocol for access to digital hardware output

Works via Ports and SAPs. For SAPs the connect message has to be called to specify a specific output channel.

MSC-PDigOut-as-Port
MSC-PDigOut-as-SAP-SPP
Incoming Messages
Message Type Description

connect

EUser_DigitalOutputs

connect to a specific output channel - only needed for SAPs

disconnect

void

disconnect from output channel - only needed for SAPs

setOutputHigh

void

setting output to high

setOutputLow

void

setting output to low

setOutputTristate

void

setting output to tristate

Outgoing Messages
Message Type Description

done

void

reply to connect

disconnected

void

reply to disconnect

minihil.api.helpers.adc

Actor Classes
Name Description

AAdcLogger

AAdcLogger

Structure

Ports
Name Protocol Type Kind Multiplicity Description

channel1

PADCIn

conjugated

external

1

Behavior

State Machine
Top Level State
waiting

(no description)

active

(no description)

minihil.api.helpers.poti

Actor Classes
Name Description

APotiToAnOutAdapter

APotiToAnOutAdapter

Structure

Ports
Name Protocol Type Kind Multiplicity Description

potiIn

PAdc

conjugated

external

1

anOut

PAnOut

conjugated

external

1

Behavior

State Machine
Top Level State
active

(no description)

minihil.api.helpers.tracebutton

Actor Classes
Name Description

ATraceButton

ATraceButton

Button to activate MSC tracing while button is held.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

button

POnOff

regular

external

1

Behavior

State Machine
Top Level State
idle

(no description)

active

(no description)

minihil.api.iopins

Enumeration Types
Name Description

EUser_DigitalOutputs

EUser_DigitalInputs

EUser_AnalogOutputs

EUser_AnalogInputs

EUser_DigitalOutputs

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

out_24

0

0x0

0

out_25

1

0x1

1

out_26

2

0x2

10

out_27

3

0x3

11

out_28

4

0x4

100

out_29

5

0x5

101

out_30

6

0x6

110

out_31

7

0x7

111

out_16

8

0x8

1000

out_17

9

0x9

1001

out_18

10

0xa

1010

out_19

11

0xb

1011

out_20

12

0xc

1100

out_21

13

0xd

1101

out_22

14

0xe

1110

out_23

15

0xf

1111

UNDEFINED

16

0x10

10000

EUser_DigitalInputs

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

in_08

0

0x0

0

in_09

1

0x1

1

in_10

2

0x2

10

in_11

3

0x3

11

in_12

4

0x4

100

in_13

5

0x5

101

in_14

6

0x6

110

in_15

7

0x7

111

in_00

8

0x8

1000

in_01

9

0x9

1001

in_02

10

0xa

1010

in_03

11

0xb

1011

in_04

12

0xc

1100

in_05

13

0xd

1101

in_06

14

0xe

1110

in_07

15

0xf

1111

UNDEFINED

16

0x10

10000

EUser_AnalogOutputs

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

out_00

0

0x0

0

out_01

1

0x1

1

out_02

2

0x2

10

out_03

3

0x3

11

out_04

4

0x4

100

out_05

5

0x5

101

out_06

6

0x6

110

out_07

7

0x7

111

out_08

8

0x8

1000

out_09

9

0x9

1001

out_10

10

0xa

1010

out_11

11

0xb

1011

out_12

12

0xc

1100

out_13

13

0xd

1101

out_14

14

0xe

1110

out_15

15

0xf

1111

UNDEFINED

16

0x10

10000

EUser_AnalogInputs

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

poti_00

0

0x0

0

poti_01

1

0x1

1

poti_02

2

0x2

10

poti_03

3

0x3

11

poti_04

4

0x4

100

UNDEFINED

5

0x5

101

minihil.api.onoff

ProtocolClasses
Name Description

POnOff

POnOff

Incoming Messages
Message Type Description

on

void

off

void

Outgoing Messages
Message Type Description

done

void

Regular PortClass

Operations
Name Return type Arguments Description

isPortStateOn

uint8

isPortStateOff

uint8

minihil.api.patterns.clickbutton

ProtocolClasses
Name Description

PButtonEvent

PButtonControl

Actor Classes
Name Description

AClickButton

PButtonEvent

Outgoing Messages
Message Type Description

click

void

longClick

void

doubleClick

void

PButtonControl

Incoming Messages
Message Type Description

setDoubleClickTime

uint16

two on events in the given time will be a double click in ms

setLongClickTime

uint16

on event without off event within this period will be a long Click in ms

AClickButton

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PButtonControl

regular

external

1

event

PButtonEvent

regular

external

1

input

POnOff

regular

external

1

Attributes
Name Type Description

longClickTime

uint16

doubleClickTime

uint16

Behavior

State Machine
Top Level State
off_initial

(no description)

on_1

(no description)

withDoubleClick

(no description)

off_2

(no description)

noDoubleClick

(no description)

longClick

(no description)

on_2

(no description)

minihil.api.patterns.heartbeat

Actor Classes
Name Description

AHeartbeatBlinky

AHeartbeatBlinky

this actor just blinks with a fixed frequency if connected to an led or a digital output

Structure

Ports
Name Protocol Type Kind Multiplicity Description

heartbeatLed

POnOff

conjugated

external

2

The port is replicated. This way it can be connected to the led and to a heartbeat test case.

Behavior

State Machine
Top Level State
on

(no description)

off

(no description)

minihil.api.patterns.reset

ProtocolClasses
Name Description

PTargetReset

PTargetResetGenConfig

Enumeration Types
Name Description

EResetActiveLevel

Actor Classes
Name Description

ATargetResetPulseGen

EResetActiveLevel

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

ACTIVE_LOW

0

0x0

0

ACTIVE_HIGH

1

0x1

1

PTargetReset

Incoming Messages
Message Type Description

generateReset

void

Outgoing Messages
Message Type Description

done

void

PTargetResetGenConfig

Incoming Messages
Message Type Description

setResetDuration

uint16

attribute: time in ms

setResetActiveLevel

EResetActiveLevel

setInactiveLevelDurationAfterReset

uint16

attribute: time in ms

ATargetResetPulseGen

Structure

Ports
Name Protocol Type Kind Multiplicity Description

fct

PTargetReset

regular

external

3

cfg

PTargetResetGenConfig

regular

external

3

resetPin

PDigOut

conjugated

external

1

Attributes
Name Type Description

resetDuration

uint16

forceInactiveLevelAfterReset

boolean

forceInactiveLevelDuration

uint16

resetActiveLevel

EResetActiveLevel

Behavior

State Machine
Top Level State
ready

(no description)

idle

(no description)

resetActive

(no description)

forceInactiveLevel

(no description)

waitForIOInit

(no description)

minihil.api.timemeasurement

ProtocolClasses
Name Description

PTimekeeper

Protocol for access to a time keeping actor

Actor Classes
Name Description

ATimekeeper

PTimekeeper

Protocol for access to a time keeping actor

MSC-PTimekeeper
Incoming Messages
Message Type Description

startTimeMeasurement

void

stopTimeMeasurement

void

Outgoing Messages
Message Type Description

elapsedTimeMS

uint32

timeMeasurementRestarted

void

ATimekeeper

This actor implements a simple stop watch. It starts taking the time when it receives a startTimeMeasurement message and stops the measurement if a stopTimeMeasurement message is received. The measured time in milliseconds is automatically send out in an elapsedTimeMS message once the stopTimeMeasurement message is received.

NOTE: This time keeper currently does one time keeping operation at a time. An out of order startTimeMeasurement or stopTimeMeasurement message is dropped silently. It is up to the user to avoid conflicting time measurements.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

fct

PTimekeeper

regular

external

1

Attributes
Name Type Description

startTime

etTime

Behavior

State Machine
Top Level State
idle

(no description)

measuringTime

(no description)

minihil.generic.adapters.gui

ProtocolClasses
Name Description

PGuiAdapterConfig

Data Classes
Name Description

DGuiAdapterConfig

Actor Classes
Name Description

AGenericGuiAdapterBool

DGuiAdapterConfig

Attributes
Name Type Description

dataID

uint32

Id of the GUI date element. See minihil.platform.HilSimData.HilSimDataId

PGuiAdapterConfig

Incoming Messages
Message Type Description

configure

DGuiAdapterConfig

AGenericGuiAdapterBool

Structure

Ports
Name Protocol Type Kind Multiplicity Description

fct

POnOff

regular

external

1

conf

PGuiAdapterConfig

regular

external

1

Attributes
Name Type Description

guiDataID

uint32

Behavior

State Machine
Top Level State
active

(no description)

uninitialized

(no description)

minihil.generic.adapters.io

ProtocolClasses
Name Description

PFourPortPinConfig

Enumeration Types
Name Description

EDigOutStatePending

Data Classes
Name Description

DFourPinSpec

DFourPinDisconnectedState

Actor Classes
Name Description

AFourPortDigInAdapter

AFourPortDigOutAdapter

AFourPortAnOutAdapter

EDigOutStatePending

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

NONE

0

0x0

0

HIGH

1

0x1

1

LOW

2

0x2

10

TRISTATE

3

0x3

11

DFourPinSpec

DataClass to specify four pin numbers.

Attributes
Name Type Description

pin0

uint16

pin1

uint16

pin2

uint16

pin3

uint16

DFourPinDisconnectedState

Attributes
Name Type Description

isPin0Disconnected

boolean

isPin1Disconnected

boolean

isPin2Disconnected

boolean

isPin3Disconnected

boolean

PFourPortPinConfig

Configuration protocol for any four port IO adapter

Incoming Messages
Message Type Description

connect

DFourPinSpec

connect the adapter to the passed IO pin numbers

disconnect

void

disconnect the adapter from its IO pins

Outgoing Messages
Message Type Description

connected

void

reply to connect message once all pins have been connected

disconnected

void

Reply to disconnect message once all pins have been disconnected

pinHasDisconnected

uint16

Message is send if a connected pin has disconnected itself

AFourPortDigInAdapter

Generic four port digital in adaptor

Structure

Ports
Name Protocol Type Kind Multiplicity Description

digIn0

PDigIn

regular

external

5

digIn1

PDigIn

regular

external

5

digIn2

PDigIn

regular

external

5

digIn3

PDigIn

regular

external

5

config

PFourPortPinConfig

regular

external

1

Attributes
Name Type Description

pinConfig

DFourPinSpec

disconnectedState

DFourPinDisconnectedState

disconnectedTimerActive

boolean

disconnectCount

uint8

Behavior

Operations
Name Return type Arguments Description

startDisconnectedTimer

void

connect

void

servicePortID: uint16

State Machine
Top Level State
idle

(no description)

active

(no description)

connecting1

(no description)

connecting2

(no description)

connecting3

(no description)

connecting4

(no description)

ready

(no description)

initDummy

(no description)

disconnecting

(no description)

AFourPortDigOutAdapter

Generic four port digital out adaptor

Structure

Ports
Name Protocol Type Kind Multiplicity Description

digOut0

PDigOut

regular

external

5

digOut1

PDigOut

regular

external

5

digOut2

PDigOut

regular

external

5

digOut3

PDigOut

regular

external

5

config

PFourPortPinConfig

regular

external

1

Attributes
Name Type Description

pinConfig

DFourPinSpec

disconnectCount

uint8

disconnectedState

DFourPinDisconnectedState

disconnectedTimerActive

boolean

pendingPinStates

EDigOutStatePending

Behavior

Operations
Name Return type Arguments Description

startDisconnectedTimer

void

setPinToPendingState

void

pinNo: uint8

State Machine
Top Level State
idle

(no description)

active

(no description)

connecting1

(no description)

connecting2

(no description)

connecting3

(no description)

connecting4

(no description)

ready

(no description)

initDummy

(no description)

disconnecting

(no description)

AFourPortAnOutAdapter

Generic four port analog out adaptor

Structure

Ports
Name Protocol Type Kind Multiplicity Description

anOut0

PAnOut

regular

external

5

anOut1

PAnOut

regular

external

5

anOut2

PAnOut

regular

external

5

anOut3

PAnOut

regular

external

5

config

PFourPortPinConfig

regular

external

1

Attributes
Name Type Description

pinConfig

DFourPinSpec

disconnectCount

uint8

disconnectedState

DFourPinDisconnectedState

disconnectedTimerActive

boolean

Behavior

Operations
Name Return type Arguments Description

startDisconnectedTimer

void

State Machine
Top Level State
idle

(no description)

active

(no description)

connecting1

(no description)

connecting2

(no description)

connecting3

(no description)

connecting4

(no description)

ready

(no description)

initDummy

(no description)

disconnecting

(no description)

minihil.platform.HilSimData

Enumeration Types
Name Description

HilSimDataId

Data Classes
Name Description

HilSimData

HilSimDataId

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

LEDRED

0

0x0

0

LEDBLUE

1

0x1

1

LEDGREEN

2

0x2

10

LEDBAR1

3

0x3

11

LEDBAR2

4

0x4

100

LEDBAR3

5

0x5

101

LEDBAR4

6

0x6

110

LEDBAR5

7

0x7

111

LEDBAR6

8

0x8

1000

LEDBAR7

9

0x9

1001

LEDBAR8

10

0xa

1010

LEDBAR9

11

0xb

1011

LEDBAR10

12

0xc

1100

BUTTONS1

13

0xd

1101

BUTTONS2

14

0xe

1110

BUTTONS3

15

0xf

1111

BUTTONS4

16

0x10

10000

BUTTONS5

17

0x11

10001

BUTTONS6

18

0x12

10010

DIPSWITCH1

19

0x13

10011

DIPSWITCH2

20

0x14

10100

DIPSWITCH3

21

0x15

10101

DIPSWITCH4

22

0x16

10110

DIPSWITCH5

23

0x17

10111

DIPSWITCH6

24

0x18

11000

POTI1

25

0x19

11001

POTI2

26

0x1a

11010

POTI3

27

0x1b

11011

POTI4

28

0x1c

11100

POTI5

29

0x1d

11101

DIGITALOUTPUT1

30

0x1e

11110

DIGITALOUTPUT2

31

0x1f

11111

DIGITALOUTPUT3

32

0x20

100000

DIGITALOUTPUT4

33

0x21

100001

DIGITALOUTPUT5

34

0x22

100010

DIGITALOUTPUT6

35

0x23

100011

DIGITALOUTPUT7

36

0x24

100100

DIGITALOUTPUT8

37

0x25

100101

DIGITALOUTPUT9

38

0x26

100110

DIGITALOUTPUT10

39

0x27

100111

DIGITALOUTPUT11

40

0x28

101000

DIGITALOUTPUT12

41

0x29

101001

DIGITALOUTPUT13

42

0x2a

101010

DIGITALOUTPUT14

43

0x2b

101011

DIGITALOUTPUT15

44

0x2c

101100

DIGITALOUTPUT16

45

0x2d

101101

DIGITALINPUT1

46

0x2e

101110

DIGITALINPUT2

47

0x2f

101111

DIGITALINPUT3

48

0x30

110000

DIGITALINPUT4

49

0x31

110001

DIGITALINPUT5

50

0x32

110010

DIGITALINPUT6

51

0x33

110011

DIGITALINPUT7

52

0x34

110100

DIGITALINPUT8

53

0x35

110101

DIGITALINPUT9

54

0x36

110110

DIGITALINPUT10

55

0x37

110111

DIGITALINPUT11

56

0x38

111000

DIGITALINPUT12

57

0x39

111001

DIGITALINPUT13

58

0x3a

111010

DIGITALINPUT14

59

0x3b

111011

DIGITALINPUT15

60

0x3c

111100

DIGITALINPUT16

61

0x3d

111101

ANALOGOUTPUT1

62

0x3e

111110

ANALOGOUTPUT2

63

0x3f

111111

ANALOGOUTPUT3

64

0x40

1000000

ANALOGOUTPUT4

65

0x41

1000001

ANALOGOUTPUT5

66

0x42

1000010

ANALOGOUTPUT6

67

0x43

1000011

ANALOGOUTPUT7

68

0x44

1000100

ANALOGOUTPUT8

69

0x45

1000101

ANALOGOUTPUT9

70

0x46

1000110

ANALOGOUTPUT10

71

0x47

1000111

ANALOGOUTPUT11

72

0x48

1001000

ANALOGOUTPUT12

73

0x49

1001001

ANALOGOUTPUT13

74

0x4a

1001010

ANALOGOUTPUT14

75

0x4b

1001011

ANALOGOUTPUT15

76

0x4c

1001100

ANALOGOUTPUT16

77

0x4d

1001101

ANALOGSWITCH1

78

0x4e

1001110

ANALOGSWITCH2

79

0x4f

1001111

ANALOGSWITCH3

80

0x50

1010000

ANALOGSWITCH4

81

0x51

1010001

ANALOGSWITCH5

82

0x52

1010010

ANALOGSWITCH6

83

0x53

1010011

ANALOGSWITCH7

84

0x54

1010100

ANALOGSWITCH8

85

0x55

1010101

SIMHWUPDATERATE

199

0xc7

11000111

TRACEBUTTON

200

0xc8

11001000

VDAC1

215

0xd7

11010111

VDAC2

216

0xd8

11011000

VDAC3

217

0xd9

11011001

VDAC4

218

0xda

11011010

VPOTI1

219

0xdb

11011011

VPOTI2

220

0xdc

11011100

VPOTI3

221

0xdd

11011101

VPOTI4

222

0xde

11011110

VBUTTON1

223

0xdf

11011111

VBUTTON2

224

0xe0

11100000

VBUTTON3

225

0xe1

11100001

VBUTTON4

226

0xe2

11100010

VLED1

227

0xe3

11100011

VLED2

228

0xe4

11100100

VLED3

229

0xe5

11100101

VLED4

230

0xe6

11100110

VJUMPER1

231

0xe7

11100111

VJUMPER2

232

0xe8

11101000

VJUMPER3

233

0xe9

11101001

VJUMPER4

234

0xea

11101010

VJUMPER5

235

0xeb

11101011

VJUMPER6

236

0xec

11101100

INTEGER1

300

0x12c

100101100

INTEGER2

301

0x12d

100101101

INTEGER3

302

0x12e

100101110

INTEGER4

303

0x12f

100101111

INTEGER5

304

0x130

100110000

INTEGER6

305

0x131

100110001

INTEGER7

306

0x132

100110010

INTEGER8

307

0x133

100110011

INTEGER9

308

0x134

100110100

INTEGER10

309

0x135

100110101

BOOLEAN1

310

0x136

100110110

BOOLEAN2

311

0x137

100110111

BOOLEAN3

312

0x138

100111000

BOOLEAN4

313

0x139

100111001

BOOLEAN5

314

0x13a

100111010

BOOLEAN6

315

0x13b

100111011

BOOLEAN7

316

0x13c

100111100

BOOLEAN8

317

0x13d

100111101

BOOLEAN9

318

0x13e

100111110

BOOLEAN10

319

0x13f

100111111

HilSimData

Attributes
Name Type Description

LedRed

int32

LedBlue

int32

LedGreen

int32

LedBar1

int32

LedBar2

int32

LedBar3

int32

LedBar4

int32

LedBar5

int32

LedBar6

int32

LedBar7

int32

LedBar8

int32

LedBar9

int32

LedBar10

int32

ButtonS1

int32

ButtonS2

int32

ButtonS3

int32

ButtonS4

int32

ButtonS5

int32

ButtonS6

int32

DipSwitch1

int32

DipSwitch2

int32

DipSwitch3

int32

DipSwitch4

int32

DipSwitch5

int32

DipSwitch6

int32

Poti1

int32

Poti2

int32

Poti3

int32

Poti4

int32

Poti5

int32

DigitalOutput1

int32

DigitalOutput2

int32

DigitalOutput3

int32

DigitalOutput4

int32

DigitalOutput5

int32

DigitalOutput6

int32

DigitalOutput7

int32

DigitalOutput8

int32

DigitalOutput9

int32

DigitalOutput10

int32

DigitalOutput11

int32

DigitalOutput12

int32

DigitalOutput13

int32

DigitalOutput14

int32

DigitalOutput15

int32

DigitalOutput16

int32

DigitalInput1

int32

DigitalInput2

int32

DigitalInput3

int32

DigitalInput4

int32

DigitalInput5

int32

DigitalInput6

int32

DigitalInput7

int32

DigitalInput8

int32

DigitalInput9

int32

DigitalInput10

int32

DigitalInput11

int32

DigitalInput12

int32

DigitalInput13

int32

DigitalInput14

int32

DigitalInput15

int32

DigitalInput16

int32

AnalogOutput1

int32

AnalogOutput2

int32

AnalogOutput3

int32

AnalogOutput4

int32

AnalogOutput5

int32

AnalogOutput6

int32

AnalogOutput7

int32

AnalogOutput8

int32

AnalogOutput9

int32

AnalogOutput10

int32

AnalogOutput11

int32

AnalogOutput12

int32

AnalogOutput13

int32

AnalogOutput14

int32

AnalogOutput15

int32

AnalogOutput16

int32

AnalogSwitch1

int32

AnalogSwitch2

int32

AnalogSwitch3

int32

AnalogSwitch4

int32

AnalogSwitch5

int32

AnalogSwitch6

int32

AnalogSwitch7

int32

AnalogSwitch8

int32

SimHWUpdateRate

int32

TraceButton

int32

vDac1

int32

vDac2

int32

vDac3

int32

vDac4

int32

vPoti1

int32

vPoti2

int32

vPoti3

int32

vPoti4

int32

vButton1

int32

vButton2

int32

vButton3

int32

vButton4

int32

vLed1

int32

vLed2

int32

vLed3

int32

vLed4

int32

vJumper1

int32

vJumper2

int32

vJumper3

int32

vJumper4

int32

vJumper5

int32

vJumper6

int32

Integer1

int32

Integer2

int32

Integer3

int32

Integer4

int32

Integer5

int32

Integer6

int32

Integer7

int32

Integer8

int32

Integer9

int32

Integer10

int32

Boolean1

int32

Boolean2

int32

Boolean3

int32

Boolean4

int32

Boolean5

int32

Boolean6

int32

Boolean7

int32

Boolean8

int32

Boolean9

int32

Boolean10

int32

Operations
Name Return type Arguments Description

setDefaults

void

getPointerFromId

voidType

id: int32

minihil.platform.HilSimDataProtocol

ProtocolClasses
Name Description

PHilSimDataService

Data Classes
Name Description

DHilSimDataIntValue

DHilSimDataIntValue

Attributes
Name Type Description

id

uint16

value

int32

PHilSimDataService

Protocol for reading or writing user values to the Simulator UI.

Incoming Messages
Message Type Description

update

DHilSimDataIntValue

Outgoing Messages
Message Type Description

set

DHilSimDataIntValue

Conjugated PortClass

Operations
Name Return type Arguments Description

updateInt

int32

id: uint16, value: int32

minihil.platform.HilSimDataService

Actor Classes
Name Description

AHilSimDataService

AHilSimDataService

Interaction with data master of GUI, which uses DataConfiguration protocol

Structure

Ports
Name Protocol Type Kind Multiplicity Description

simHWData

PHilSimDataService

regular

external

1

remoteData

DataConfiguration

regular

external

1

Attributes
Name Type Description

hilSimData

HilSimData

Behavior

Operations
Name Return type Arguments Description

updateInt32

void

id: uint16, value: int32

State Machine
Top Level State
state0

(no description)

minihil.platform.adapters.adc

ProtocolClasses
Name Description

PAdcStm32LLConfig

Data Classes
Name Description

DADCEventState

DAdcStm32LLConfig

Actor Classes
Name Description

AADCSensor_ADC1_PA1C_PF11_DMA2S7

AADCSensor_ADC1_PA1C_PF11_DMA2S0

A_LL_ADCSensor_ADC1_PA1C_PF11

DADCEventState

Attributes
Name Type Description

isHigherThanEventActivated

uint8

higherThanValue

uint32

isLowerThanEventActivated

uint8

lowerThanValue

uint32

DAdcStm32LLConfig

Attributes
Name Type Description

dmaStream

DMA_Stream_TypeDef

PAdcStm32LLConfig

Incoming Messages
Message Type Description

llConfig

DAdcStm32LLConfig

AADCSensor_ADC1_PA1C_PF11_DMA2S7

ADC Adapter which can handle 2 ADC channels:

CH1 is on PIN PA1_C, CH2 is on PIN PF11

Warning: This Adapter uses DMA2 S7 which is also used by the uart 8 adapter

NOTE: This actor needs to be configured before it can be used. NOTE2: If you configured this actor with 1 instead of two channels the channel2 port cannot be used Also the ADC hardware is not connected to pin PF11 if only 1 channel is configured. This can be useful if it is needed elsewhere. NOTE3: This actor can only be configured once. Reconfiguration is currently not implemented

Structure

Ports
Name Protocol Type Kind Multiplicity Description

configure

PAdcStm32LLConfig

conjugated

internal

1

ctrl

PADCControl

regular

relay

1

channel1

PADCIn

regular

relay

1

channel2

PADCIn

regular

relay

1

Behavior

State Machine
Top Level State
initialized

(no description)

AADCSensor_ADC1_PA1C_PF11_DMA2S0

ADC Adapter which can handle 2 ADC channels:

CH1 is on PIN PA1_C, CH2 is on PIN PF11

Warning: This Adapter uses DMA2 S0 which is also used by the uart 1 adapter

NOTE: This actor needs to be configured before it can be used. NOTE2: If you configured this actor with 1 instead of two channels the channel2 port cannot be used Also the ADC hardware is not connected to pin PF11 if only 1 channel is configured. This can be useful if it is needed elsewhere. NOTE3: This actor can only be configured once. Reconfiguration is currently not implemented

Structure

Ports
Name Protocol Type Kind Multiplicity Description

configure

PAdcStm32LLConfig

conjugated

internal

1

ctrl

PADCControl

regular

relay

1

channel1

PADCIn

regular

relay

1

channel2

PADCIn

regular

relay

1

Behavior

State Machine
Top Level State
initialized

(no description)

A_LL_ADCSensor_ADC1_PA1C_PF11

Structure

Ports
Name Protocol Type Kind Multiplicity Description

configure

PAdcStm32LLConfig

regular

external

1

ctrl

PADCControl

regular

external

1

channel1

PADCIn

regular

external

1

channel2

PADCIn

regular

external

1

Attributes
Name Type Description

numberOfUsedChannels

uint8

channelEventStates

DADCEventState

isEventTimerActive

uint8

adcToMVConversionFactor

float32

dmaStreamAttr

DMA_Stream_TypeDef

configAttr

DADCConfiguration

hasConfigData

boolean

Behavior

Operations
Name Return type Arguments Description

startConversion

uint32

stopConversion

void

startCalibration

uint32

getValue

uint32

channelID: uint8

updateEventTimerState

void

sendValue

void

channelID: uint8

initADC1

void

config: DADCConfiguration

configureActor

void

configureActorStep2

void

State Machine
Top Level State
unconfigured

(no description)

active

(no description)

LL_Config_pending

(no description)

configuring

(no description)

minihil.platform.adapters.i2cbus

ProtocolClasses
Name Description

PI2CBusConfig

Enumeration Types
Name Description

I2CAddressLength

Data Classes
Name Description

DI2CSlaveSimConfig

Actor Classes
Name Description

AI2CBus2Adapter

AI2CBus3Adapter

AI2CBus4Adapter

AI2CBusAdapterImpl

I2CAddressLength

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

BITS_7

0

0x0

0

BITS_10

1

0x1

1

DI2CSlaveSimConfig

Attributes
Name Type Description

callback

I2cSlaveCallback

address

uint16

addressLength

I2CAddressLength

Due to hardware restrictions the following limitation applies to 10-bit addressed slaves: All 10-bit addressed slaves simulated on the same I2CBusAdapter actor must share the same upper 2 bits of the address. I.e. 0x105 and 0x110 can be simulated using the same AI2CBusAdapter. 0x205 and 0x110 cannot be simulate using the same adapter. If you try to register 10-bit slaves with differences on the upper 2 bit of the address the second register will be denied with a noFreeSlots message.

userContext

voidType

PI2CBusConfig

Incoming Messages
Message Type Description

registerBusSlave

DI2CSlaveSimConfig

unregisterBusSlave

uint8

payload is the id received with the "slaveRegistered" message

Outgoing Messages
Message Type Description

slaveRegistered

uint8

noFreeSlots

void

slaveUnregistered

uint8

slaveNotFound

uint8

AI2CBus2Adapter

Currently only supports I2C Slave simulation

Used Pins: - PF0: I2C2_SDA - PF1: I2C2_SCL

Used I2C Hardware: I2C2

Structure

Ports
Name Protocol Type Kind Multiplicity Description

conf

PI2CBusConfig

regular

external

16

Behavior

Operations
Name Return type Arguments Description

initI2CHardware

boolean

hi2c: I2C_HandleTypeDef, callbacks: I2CPlatformCallbacks

AI2CBus3Adapter

Currently only supports I2C Slave simulation

Used Pins: - PH8: I2C3_SDA - PH7: I2C3_SCL

Used I2C Hardware: I2C3

Structure

Ports
Name Protocol Type Kind Multiplicity Description

conf

PI2CBusConfig

regular

external

16

Behavior

Operations
Name Return type Arguments Description

initI2CHardware

boolean

hi2c: I2C_HandleTypeDef, callbacks: I2CPlatformCallbacks

AI2CBus4Adapter

Currently only supports I2C Slave simulation

Used Pins: - PF15: I2C4_SDA - PF14: I2C4_SCL

Used I2C Hardware: I2C4

Structure

Ports
Name Protocol Type Kind Multiplicity Description

conf

PI2CBusConfig

regular

external

16

Behavior

Operations
Name Return type Arguments Description

initI2CHardware

boolean

hi2c: I2C_HandleTypeDef, callbacks: I2CPlatformCallbacks

AI2CBusAdapterImpl

Shared implementation for the I2C bus actors

Structure

Ports
Name Protocol Type Kind Multiplicity Description

conf

PI2CBusConfig

regular

external

16

Behavior

Operations
Name Return type Arguments Description

initI2CHardware

boolean

hi2c: I2C_HandleTypeDef, callbacks: I2CPlatformCallbacks

State Machine
Top Level State
active

(no description)

minihil.platform.adapters.inputCapture

ProtocolClasses
Name Description

PInputCaptureUnitCtrl

PInputCaptureInternalCfg

PTestPulseGenCtrl

Enumeration Types
Name Description

EInputCaptureMeasurementMode

Data Classes
Name Description

DInputCaptureMeasurementConfig

DInputCaptureMeasurementResult

DEdgeCountResult

DInputCaptureInternalCfg

Actor Classes
Name Description

AInputCaptureUnit

AInputCaptureUnit_impl

ATestPulseGenerator

EInputCaptureMeasurementMode

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

EDGE_COUNTING

0

0x0

0

TIME_MEASUREMENT

1

0x1

1

DInputCaptureMeasurementConfig

Data class to configure an edge time measurement

Attributes
Name Type Description

outputBuffer

EdgeTime

The output buffer in which the timing data are to be saved. Elements should be of type EdgeTime. E.g. EdgeTime outBuffer[500];

bufferLen_entries should be the number of entries in the output buffer. E.g. sizeof(outputBuffer)/sizeof(EdgeTime)

bufferLen_entries

uint32

DInputCaptureMeasurementResult

Attributes
Name Type Description

outputBuffer

EdgeTime

bufferLen_entries

uint32

risingEdgesCount

uint32

fallingEdgesCount

uint32

DEdgeCountResult

Attributes
Name Type Description

risingEdgesCount

uint32

fallingEdgesCount

uint32

DInputCaptureInternalCfg

Attributes
Name Type Description

triggerAnalysisEvtPort

PInterruptConjPort

PInputCaptureUnitCtrl

Incoming Messages
Message Type Description

startEdgeCounting

void

Start counting edges only. Measured durations are discarded

stopEdgeCounting

void

stop edge counting and request results

startMeasurement

DInputCaptureMeasurementConfig

start a precise edge time measurement. The passed output buffer must have enough space for all expected edges

stopMeasurement

void

stop the measurement and request results

Outgoing Messages
Message Type Description

measurementStarted

void

positive reply to startEdgeCounting and startMeasurement if the measurement/counting was started successfully

measurementAlreadyRunning

void

reply if a measurement/counting is running when a startMeasurement or startEdgeCounting message is received

noActiveMeasurement

void

reply if stopMeasurement or stopEdgeCounting are received while no measurement/counting was active

measurementStopped

DInputCaptureMeasurementResult

Reply to stopMeasurement

edgeCountStopped

DEdgeCountResult

Reply to stopEdgeCounting

bufferOverflow

void

Output buffer overflow. Measurement aborted

internalBufferOverflow

void

Internal buffer overflow. Measurement aborted

PInputCaptureInternalCfg

Incoming Messages
Message Type Description

configure

DInputCaptureInternalCfg

PTestPulseGenCtrl

Incoming Messages
Message Type Description

triggerTestPulses1

uint32

Outgoing Messages
Message Type Description

pulsesDone

void

AInputCaptureUnit

This actor uses a timer + dma to measure the time passed during edges on the input pin.

Have a look at the fct ports protocol (PInputCaptureUnitCtrl) for usage details

The maximum input frequency should be < 1 MHz to avoid buffer overflows

Input: PA0

Used resources: DMA2_Stream4 TIM2

Structure

Ports
Name Protocol Type Kind Multiplicity Description

triggerAnalysisEvt

PInterrupt

conjugated

internal

1

internalCfg

PInputCaptureInternalCfg

conjugated

internal

1

fct

PInputCaptureUnitCtrl

regular

relay

1

Behavior

State Machine
Top Level State
done

(no description)

AInputCaptureUnit_impl

Structure

Ports
Name Protocol Type Kind Multiplicity Description

fct

PInputCaptureUnitCtrl

regular

external

1

triggerAnalysisEvt

PInterrupt

regular

external

1

internalCfg

PInputCaptureInternalCfg

regular

external

1

Attributes
Name Type Description

timerHandle

TIM_HandleTypeDef

dmaHandle

DMA_HandleTypeDef

currentOutputBuffer

EdgeTime

currentOutputBufferSize

uint32

currentOutputBufferIdx

uint32

transform_expectedNextEdgeType

EdgeType

measurementStartNextEdgeType

EdgeType

currentMode

EInputCaptureMeasurementMode

currentEdgeCount

DEdgeCountResult

outputBufferOverflow

boolean

Behavior

Operations
Name Return type Arguments Description

clearInternalStateAndPrepareForMeasurement

void

startEdgeCounting

void

startTimingMeasurement

void

config: DInputCaptureMeasurementConfig

runIntermediateAnalysis

void

stopAndFinishEdgeCount

void

abortMeasurement

void

stopAndFinishMeasurement

void

readLeftoverCaptureData

boolean

tim2OverflowIrqHandler

void

doesIdxFitInCurrentOutputBuffer

boolean

idx: uint32

handleOverflowElements

uint32

insertArrIdx: uint32, dmaIdx: uint32, timeToLastOffset: float64, outIdx: uint32, overflowDuration: float64, tickDuration: float64, nextEdgeType: EdgeType

transformCapturedValuesFromDMA

boolean

edgeCountOverflowElements

void

edgeCountCapturedValuesFromDMA

void

edgeCountCapturedValues

void

buffer: uint32, usedBufferEntries: uint32

transformCapturedValues

boolean

buffer: uint32, usedBufferEntries: uint32

State Machine
Top Level State
idle

(no description)

measuring

(no description)

edgeCounting

(no description)

ATestPulseGenerator

Structure

Ports
Name Protocol Type Kind Multiplicity Description

fct

PTestPulseGenCtrl

regular

external

1

btn

POnOff

regular

external

2

btn2

POnOff

regular

external

2

digOut

PDigOut

conjugated

external

1

Attributes
Name Type Description

numPulses

uint32

Behavior

State Machine
Top Level State
idle_low

(no description)

high

(no description)

low

(no description)

high2

(no description)

b2h

(no description)

pulses1H

(no description)

pulses1L

(no description)

minihil.platform.adapters.inputPattern

ProtocolClasses
Name Description

PInputPatternAnalyzerConfig

PInputPatternAnalyer

PExampleInputPattern

Enumeration Types
Name Description

EExampleInputPattern

Data Classes
Name Description

DInputPatternConfig

DInputPatternConfigs

Actor Classes
Name Description

AInputPatternAnalyzer

AInputPatternAnalyzerExample

EExampleInputPattern

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

COUNTING_PATTERN_1

0

0x0

0

DInputPatternConfig

Attributes
Name Type Description

matcherFn

matcherFnType

Your matcher function. See doc of type for more info

matcherContextPtr

voidType

Context to be used by your matcher. May be Null if not needed.

matcherId

uint32

Matcher id chosen by you. Should be unique. Will be returned in "match(uint32)" message from analyzer

lastEdgeTimeout_ms

uint32

Reserved for future use. Set to 0!

DInputPatternConfigs

Wrapper for multiple matcher configurations

Attributes
Name Type Description

configs

DInputPatternConfig

Pointer to array of configurations. This array is not copied, but used directly. Do not allocate on stack

numConfigs

uint32

Number of entries in configs array

PInputPatternAnalyzerConfig

Incoming Messages
Message Type Description

configure

DInputPatternConfigs

Outgoing Messages
Message Type Description

configurationDone

void

PInputPatternAnalyer

Outgoing Messages
Message Type Description

match

uint32

PExampleInputPattern

Outgoing Messages
Message Type Description

countingPattern1Detected

uint32

AInputPatternAnalyzer

Structure

Ports
Name Protocol Type Kind Multiplicity Description

cfg

PInputPatternAnalyzerConfig

regular

external

1

fct

PInputPatternAnalyer

regular

external

1

digIn

PDigIn

conjugated

external

1

Attributes
Name Type Description

configurations

DInputPatternConfigs

lastEdgeTime

etTime

Behavior

Operations
Name Return type Arguments Description

handleEdge

void

isHigh: boolean

State Machine
Top Level State
unconfigured

(no description)

configured

(no description)

AInputPatternAnalyzerExample

Structure

Ports
Name Protocol Type Kind Multiplicity Description

analyzerCfg

PInputPatternAnalyzerConfig

conjugated

internal

1

analyzerFct

PInputPatternAnalyer

conjugated

internal

1

digIn

PDigIn

conjugated

relay

1

fct

PExampleInputPattern

regular

external

1

Attributes
Name Type Description

patternConfigsArr

DInputPatternConfig

countingPatternCtx

CountingMatcherContext

patternConfigs

DInputPatternConfigs

Behavior

State Machine
Top Level State
configuring

(no description)

ready

(no description)

minihil.platform.adapters.io

Actor Classes
Name Description

AAnOutAdapter00to03_miniHILV2

AAnOutAdapter04to07_miniHILV2

AAnOutAdapter08to11_miniHILV2

AAnOutAdapter12to15_miniHILV2

ADigOutAdapter16to19_miniHILV2

ADigOutAdapter20to23_miniHILV2

ADigOutAdapter24to27_miniHILV2

ADigOutAdapter28to31_miniHILV2

ADigInAdapter00to03_miniHILV2

ADigInAdapter04to07_miniHILV2

ADigInAdapter08to11_miniHILV2

ADigInAdapter12to15_miniHILV2

AAnOutAdapter00to03_miniHILV2

analog out adapter for miniHil anOUT 00 - 03

Structure

Ports
Name Protocol Type Kind Multiplicity Description

config

PFourPortPinConfig

conjugated

internal

1

anOut00

PAnOut

regular

relay

5

anOut01

PAnOut

regular

relay

5

anOut02

PAnOut

regular

relay

5

anOut03

PAnOut

regular

relay

5

Behavior

State Machine
Top Level State
configuring

(no description)

error

(no description)

connected

(no description)

AAnOutAdapter04to07_miniHILV2

analog out adapter for miniHil anOUT 04 - 07

Structure

Ports
Name Protocol Type Kind Multiplicity Description

config

PFourPortPinConfig

conjugated

internal

1

anOut04

PAnOut

regular

relay

5

anOut05

PAnOut

regular

relay

5

anOut06

PAnOut

regular

relay

5

anOut07

PAnOut

regular

relay

5

Behavior

State Machine
Top Level State
configuring

(no description)

error

(no description)

connected

(no description)

AAnOutAdapter08to11_miniHILV2

analog out adapter for miniHil anOUT 08 - 11

Structure

Ports
Name Protocol Type Kind Multiplicity Description

config

PFourPortPinConfig

conjugated

internal

1

anOut08

PAnOut

regular

relay

5

anOut09

PAnOut

regular

relay

5

anOut10

PAnOut

regular

relay

5

anOut11

PAnOut

regular

relay

5

Behavior

State Machine
Top Level State
configuring

(no description)

error

(no description)

connected

(no description)

AAnOutAdapter12to15_miniHILV2

analog out adapter for miniHil anOUT 12 - 15

Structure

Ports
Name Protocol Type Kind Multiplicity Description

config

PFourPortPinConfig

conjugated

internal

1

anOut12

PAnOut

regular

relay

5

anOut13

PAnOut

regular

relay

5

anOut14

PAnOut

regular

relay

5

anOut15

PAnOut

regular

relay

5

Behavior

State Machine
Top Level State
configuring

(no description)

error

(no description)

connected

(no description)

ADigOutAdapter16to19_miniHILV2

digital out adapter for miniHil digOUT 16 - 19

Structure

Ports
Name Protocol Type Kind Multiplicity Description

config

PFourPortPinConfig

conjugated

internal

1

digOut16

PDigOut

regular

relay

5

digOut17

PDigOut

regular

relay

5

digOut18

PDigOut

regular

relay

5

digOut19

PDigOut

regular

relay

5

Behavior

State Machine
Top Level State
configuring

(no description)

error

(no description)

connected

(no description)

ADigOutAdapter20to23_miniHILV2

digital out adapter for miniHil digOUT 20 - 23

Structure

Ports
Name Protocol Type Kind Multiplicity Description

config

PFourPortPinConfig

conjugated

internal

1

digOut20

PDigOut

regular

relay

5

digOut21

PDigOut

regular

relay

5

digOut22

PDigOut

regular

relay

5

digOut23

PDigOut

regular

relay

5

Behavior

State Machine
Top Level State
configuring

(no description)

error

(no description)

connected

(no description)

ADigOutAdapter24to27_miniHILV2

digital out adapter for miniHil digOUT 24 - 27

Structure

Ports
Name Protocol Type Kind Multiplicity Description

config

PFourPortPinConfig

conjugated

internal

1

digOut24

PDigOut

regular

relay

5

digOut25

PDigOut

regular

relay

5

digOut26

PDigOut

regular

relay

5

digOut27

PDigOut

regular

relay

5

Behavior

State Machine
Top Level State
configuring

(no description)

error

(no description)

connected

(no description)

ADigOutAdapter28to31_miniHILV2

digital out adapter for miniHil digOUT 28 - 31

Structure

Ports
Name Protocol Type Kind Multiplicity Description

config

PFourPortPinConfig

conjugated

internal

1

digOut28

PDigOut

regular

relay

5

digOut29

PDigOut

regular

relay

5

digOut30

PDigOut

regular

relay

5

digOut31

PDigOut

regular

relay

5

Behavior

State Machine
Top Level State
configuring

(no description)

error

(no description)

connected

(no description)

ADigInAdapter00to03_miniHILV2

digital in adapter for miniHil digIN 00 - 03

Structure

Ports
Name Protocol Type Kind Multiplicity Description

config

PFourPortPinConfig

conjugated

internal

1

digIn00

PDigIn

regular

relay

5

digIn01

PDigIn

regular

relay

5

digIn02

PDigIn

regular

relay

5

digIn03

PDigIn

regular

relay

5

Behavior

State Machine
Top Level State
configuring

(no description)

error

(no description)

connected

(no description)

ADigInAdapter04to07_miniHILV2

digital in adapter for miniHil digIN 04 - 07

Structure

Ports
Name Protocol Type Kind Multiplicity Description

config

PFourPortPinConfig

conjugated

internal

1

digIn04

PDigIn

regular

relay

5

digIn05

PDigIn

regular

relay

5

digIn06

PDigIn

regular

relay

5

digIn07

PDigIn

regular

relay

5

Behavior

State Machine
Top Level State
configuring

(no description)

error

(no description)

connected

(no description)

ADigInAdapter08to11_miniHILV2

digital in adapter for miniHil digIN 08 - 11

Structure

Ports
Name Protocol Type Kind Multiplicity Description

config

PFourPortPinConfig

conjugated

internal

1

digIn08

PDigIn

regular

relay

5

digIn09

PDigIn

regular

relay

5

digIn10

PDigIn

regular

relay

5

digIn11

PDigIn

regular

relay

5

Behavior

State Machine
Top Level State
configuring

(no description)

error

(no description)

connected

(no description)

ADigInAdapter12to15_miniHILV2

digital in adapter for miniHil digIN 12 - 15

Structure

Ports
Name Protocol Type Kind Multiplicity Description

config

PFourPortPinConfig

conjugated

internal

1

digIn12

PDigIn

regular

relay

5

digIn13

PDigIn

regular

relay

5

digIn14

PDigIn

regular

relay

5

digIn15

PDigIn

regular

relay

5

Behavior

State Machine
Top Level State
configuring

(no description)

error

(no description)

connected

(no description)

minihil.platform.adapters.pwmgenerator

Actor Classes
Name Description

APotiToPwmDutyAdapter

APwmGenerator_TIM16_PF6

APwmGenerator_TIM12_PH6

APwmGenerator_TIM13_PA6

APotiToPwmDutyAdapter

Structure

Ports
Name Protocol Type Kind Multiplicity Description

poti

PAdc

conjugated

external

1

pwmCtrl

PPwmGeneratorCtrl

conjugated

external

1

Behavior

State Machine
Top Level State
active

(no description)

APwmGenerator_TIM16_PF6

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PPwmGeneratorCtrl

regular

external

3

Attributes
Name Type Description

currentDuty

int16

Behavior

Operations
Name Return type Arguments Description

hwInit

void

updateFrequency

void

targetFreqHz: uint32

setDuty

void

dutyTimes10K: int16

State Machine
Top Level State
idle

(no description)

active

(no description)

APwmGenerator_TIM12_PH6

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PPwmGeneratorCtrl

regular

external

3

Attributes
Name Type Description

currentDuty

int16

Behavior

Operations
Name Return type Arguments Description

hwInit

void

updateFrequency

void

targetFreqHz: uint32

setDuty

void

dutyTimes10K: int16

State Machine
Top Level State
idle

(no description)

active

(no description)

APwmGenerator_TIM13_PA6

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PPwmGeneratorCtrl

regular

external

3

Attributes
Name Type Description

currentDuty

int16

Behavior

Operations
Name Return type Arguments Description

hwInit

void

updateFrequency

void

targetFreqHz: uint32

setDuty

void

dutyTimes10K: int16

State Machine
Top Level State
idle

(no description)

active

(no description)

minihil.platform.adapters.pwmsensor

ProtocolClasses
Name Description

PGenericPWMSensorConfiguration

Enumeration Types
Name Description

EGenericPWMSensorChannel

Data Classes
Name Description

DGenericPWMSensorConfiguration

Actor Classes
Name Description

AGenericPWMSensor

APwmSensorV2_TIM1_PE9

APwmSensorV2_TIM2_PA0

APwmSensorV2_TIM3_PC6

APwmSensorV2_TIM4_PB7

APwmSensorV2_TIM5_PH10

APwmSensorV2_TIM8_PI5

APwmSensorV2_TIM12_PH6

APwmSensorV2_TIM15_PA3

APwmSensor_TIM3_PC6_16Bit

APwmSensor_TIM2_PA0_32Bit

APwmSensor_TIM12_PH6_16Bit

EGenericPWMSensorChannel

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

CH1

1

0x1

1

CH2

2

0x2

10

DGenericPWMSensorConfiguration

Attributes
Name Type Description

timerInitFct

PWMTimerInitFct

timerChannel

EGenericPWMSensorChannel

GPIO

GPIO_TypeDef

GPIO_PIN

uint16

PGenericPWMSensorConfiguration

Incoming Messages
Message Type Description

configure

DGenericPWMSensorConfiguration

Outgoing Messages
Message Type Description

configurationCompleted

void

AGenericPWMSensor

Structure

Ports
Name Protocol Type Kind Multiplicity Description

config

PGenericPWMSensorConfiguration

regular

external

1

fct

PPwmSensorCtrl

regular

external

2

userCfg

PPWMSensorConfig

regular

external

2

Attributes
Name Type Description

timerHandle

TIM_HandleTypeDef

configuration

DGenericPWMSensorConfiguration

timerFrequencyHz

uint32

Behavior

Operations
Name Return type Arguments Description

calculateFrequency

uint32

calculateDuty

uint32

State Machine
Top Level State
unconfigured

(no description)

Active

(no description)

APwmSensorV2_TIM1_PE9

Structure

Ports
Name Protocol Type Kind Multiplicity Description

genericSensorConfig

PGenericPWMSensorConfiguration

conjugated

internal

1

fct

PPwmSensorCtrl

regular

relay

2

cfg

PPWMSensorConfig

regular

relay

2

Behavior

Operations
Name Return type Arguments Description

initGenericSensor

void

State Machine
Top Level State
initializing

(no description)

active

(no description)

APwmSensorV2_TIM2_PA0

Structure

Ports
Name Protocol Type Kind Multiplicity Description

genericSensorConfig

PGenericPWMSensorConfiguration

conjugated

internal

1

fct

PPwmSensorCtrl

regular

relay

2

cfg

PPWMSensorConfig

regular

relay

2

Behavior

Operations
Name Return type Arguments Description

initGenericSensor

void

State Machine
Top Level State
initializing

(no description)

active

(no description)

APwmSensorV2_TIM3_PC6

Structure

Ports
Name Protocol Type Kind Multiplicity Description

genericSensorConfig

PGenericPWMSensorConfiguration

conjugated

internal

1

fct

PPwmSensorCtrl

regular

relay

2

cfg

PPWMSensorConfig

regular

relay

2

Behavior

Operations
Name Return type Arguments Description

initGenericSensor

void

State Machine
Top Level State
initializing

(no description)

active

(no description)

APwmSensorV2_TIM4_PB7

Structure

Ports
Name Protocol Type Kind Multiplicity Description

genericSensorConfig

PGenericPWMSensorConfiguration

conjugated

internal

1

fct

PPwmSensorCtrl

regular

relay

2

cfg

PPWMSensorConfig

regular

relay

2

Behavior

Operations
Name Return type Arguments Description

initGenericSensor

void

State Machine
Top Level State
initializing

(no description)

active

(no description)

APwmSensorV2_TIM5_PH10

Structure

Ports
Name Protocol Type Kind Multiplicity Description

genericSensorConfig

PGenericPWMSensorConfiguration

conjugated

internal

1

fct

PPwmSensorCtrl

regular

relay

2

cfg

PPWMSensorConfig

regular

relay

2

Behavior

Operations
Name Return type Arguments Description

initGenericSensor

void

State Machine
Top Level State
initializing

(no description)

active

(no description)

APwmSensorV2_TIM8_PI5

Structure

Ports
Name Protocol Type Kind Multiplicity Description

genericSensorConfig

PGenericPWMSensorConfiguration

conjugated

internal

1

fct

PPwmSensorCtrl

regular

relay

2

cfg

PPWMSensorConfig

regular

relay

2

Behavior

Operations
Name Return type Arguments Description

initGenericSensor

void

State Machine
Top Level State
initializing

(no description)

active

(no description)

APwmSensorV2_TIM12_PH6

Structure

Ports
Name Protocol Type Kind Multiplicity Description

genericSensorConfig

PGenericPWMSensorConfiguration

conjugated

internal

1

fct

PPwmSensorCtrl

regular

relay

2

cfg

PPWMSensorConfig

regular

relay

2

Behavior

Operations
Name Return type Arguments Description

initGenericSensor

void

State Machine
Top Level State
initializing

(no description)

active

(no description)

APwmSensorV2_TIM15_PA3

Structure

Ports
Name Protocol Type Kind Multiplicity Description

genericSensorConfig

PGenericPWMSensorConfiguration

conjugated

internal

1

fct

PPwmSensorCtrl

regular

relay

2

cfg

PPWMSensorConfig

regular

relay

2

Behavior

Operations
Name Return type Arguments Description

initGenericSensor

void

State Machine
Top Level State
initializing

(no description)

active

(no description)

APwmSensor_TIM3_PC6_16Bit

This PWM Sensor uses hardware timer TIM3 (16bit) in reset mode. Reset input pin is PC6. Reset occurs on detection of a rising edge. The timer tick frequency is 4 MHz (= 0.25us / tick). An overflow happens after 65536 ticks (~16.38 ms). The lowest measurable PWM frequency is ~ 62 Hz. Measurement resolution depends on the frequency of the measured PWM signal. E.g.: 20 kHz PWM -> Res: ~ 0.5 %, 10 kHz PWM -> Res: ~ 0.25 %, 1 kHz PWM -> Res: 0.025 %

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PPwmSensorCtrl

regular

external

2

Behavior

Operations
Name Return type Arguments Description

initTim3

void

calculateFrequency

uint32

calculateDuty

uint32

State Machine
Top Level State
Active

(no description)

APwmSensor_TIM2_PA0_32Bit

This PWM Sensor uses hardware timer TIM2 (32bit) in reset mode. Reset input pin is PA0. Reset occurs on detection of a rising edge. The timer tick frequency is 200 MHz (= 5 ns / tick). An overflow happens after 2^32 ticks (~21.475 s). The lowest measurable PWM frequency is ~ 0.046 Hz. Measurement resolution depends on the frequency of the measured PWM signal. E.g.: 20 kHz PWM -> Res: ~ 0.01 %, 10 kHz PWM -> Res: ~ 0.005 %, 1 kHz PWM -> Res: 0.0005 %

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PPwmSensorCtrl

regular

external

2

Behavior

Operations
Name Return type Arguments Description

initTim2

void

calculateFrequency

uint32

calculateDuty

uint32

State Machine
Top Level State
Active

(no description)

APwmSensor_TIM12_PH6_16Bit

This PWM Sensor uses hardware timer TIM12 (16bit) in reset mode. Reset input pin is PH6. Reset occurs on detection of a rising edge. The timer tick frequency is 4 MHz (= 0.25us / tick). An overflow happens after 65536 ticks (~16.38 ms). The lowest measurable PWM frequency is ~ 62 Hz. Measurement resolution depends on the frequency of the measured PWM signal. E.g.: 20 kHz PWM -> Res: ~ 0.5 %, 10 kHz PWM -> Res: ~ 0.25 %, 1 kHz PWM -> Res: 0.025 %

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PPwmSensorCtrl

regular

external

2

Behavior

Operations
Name Return type Arguments Description

initTim12

void

calculateFrequency

uint32

calculateDuty

uint32

State Machine
Top Level State
Active

(no description)

minihil.platform.adapters.spi

ProtocolClasses
Name Description

PSPICommunication

PSPICtrl

Data Classes
Name Description

DSPICommunicationCommand

Actor Classes
Name Description

ASPI2Adapter

ASPI2Adapter_Impl

DSPICommunicationCommand

Attributes
Name Type Description

communicationCommandId

uint16

enableTX

boolean

enableRX

boolean

dataSize

uint16

readBufferAddress

uint8

writeBufferAddress

uint8

PSPICommunication

Incoming Messages
Message Type Description

startCommunication

DSPICommunicationCommand

Outgoing Messages
Message Type Description

commandAccepted

void

interfaceBusy

void

communicationCommandDone

uint16

PSPICtrl

Incoming Messages
Message Type Description

setSpeedLow

void

Less than 2 MHZ

setSpeedHigh

void

Between 10 and 20 MHZ, depends on system clock speed

Outgoing Messages
Message Type Description

setSpeedCompleted

void

ASPI2Adapter

Interrupt driven SPI Master Adapter SPI2 GPIO Configuration PI1 ------> SPI2_SCK PI0 ------> SPI2_NSS PI2 ------> SPI2_MISO PI3 ------> SPI2_MOSI

Structure

Ports
Name Protocol Type Kind Multiplicity Description

commandCompletISR

PInterrupt

conjugated

internal

1

fct

PSPICommunication

regular

relay

2

ctrl

PSPICtrl

regular

relay

2

Behavior

State Machine
Top Level State
initialized

(no description)

ASPI2Adapter_Impl

Structure

Ports
Name Protocol Type Kind Multiplicity Description

fct

PSPICommunication

regular

external

2

ctrl

PSPICtrl

regular

external

2

commandCompletInterrupt

PInterrupt

regular

external

1

Attributes
Name Type Description

currentCommandId

uint16

isLowSpeed

boolean

Behavior

Operations
Name Return type Arguments Description

initHW

void

updateSPISpeed

void

State Machine
Top Level State
idle

(no description)

communicating

(no description)

initializing

(no description)

minihil.platform.adapters.spi_custom

ProtocolClasses
Name Description

PSPICustomCommunication

PSPICustomCtrl

Enumeration Types
Name Description

ESpiBitoder

ELogicLevel

EClockEdge

Data Classes
Name Description

DSPICustomCommunicationCommand

Actor Classes
Name Description

ASPI6Adapter

ASPI6Adapter_Impl

ESpiBitoder

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

MSB_FIRST

0

0x0

0

LSB_FIRST

1

0x1

1

ELogicLevel

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

HIGH

0

0x0

0

LOW

1

0x1

1

EClockEdge

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

FIRST

0

0x0

0

SECOND

1

0x1

1

DSPICustomCommunicationCommand

Attributes
Name Type Description

communicationCommandId

uint16

Any uint16 value. Will be returned in communicationCommandDone message

enableTX

boolean

enableRX

boolean

numDataFrames

uint16

Number of data frames to transmit/receive.

readBufferPtr

uint8

CAUTION: Buffers must be in dmaMemSection_D3. Otherwise the BDMA cannot access the data. E.g.: uint8_t attribute((section(".dmaMemSection_D3"))) spiRxBuffer[200];

writeBufferPtr

uint8

isMaster

boolean

1: spi master mode, 0: spi slave mode

masterInterDataIdleness

uint8

Specifies minimum time delay (expressed in SPI clock cycles periods) inserted between two consecutive data frames in master mode. Must be between 0 and 15.

PSPICustomCommunication

Incoming Messages
Message Type Description

startCommunication

DSPICustomCommunicationCommand

Outgoing Messages
Message Type Description

commandAccepted

void

interfaceBusy

void

communicationCommandTimeout

void

communicationCommandDone

uint16

PSPICustomCtrl

Incoming Messages
Message Type Description

setSpeed

uint32

sets the spi clock speed to the passed frequency in Hz

Currently supported frequencies: 10 MHz, 5 MHz, 2.5 MHz, 1.25 MHz, 312.5 kHz, 153.6 kHz, 76.8 kHz, 38.4 kHz, 31.25 kHz, 19.2 kHz, 9.6 kHz, 4.8 kHz

setBitorder

ESpiBitoder

setIdleClockLvl

ELogicLevel

Sets the idle level of the SPI clock signal. This message defines the level (High or Low) of the clock signal which is applied before NSS changes to its active level.

@param The idle clock level, specified as a value from the ELogicLevel enumeration.

setSamplingEdge

EClockEdge

setNssActiveLevel

ELogicLevel

setCommunicationTimeout_ms

uint32

Sets the communication command timeout value. This message allows dynamically adjusting the timeout duration for SPI communication commands. The timeout specifies the maximum amount of time the system will wait for a communication command to complete before triggering a timeout event.

@param The desired timeout duration in milliseconds.

setFrameSize

uint8

Set spi frame.

@param The desired frame size in bits. The hardware supports sizes [4..16].

setAutomaticSlaveModeSwitch

boolean

Configures if the hardware interface is reconfigured as slave after each transfer command has finished if transition data is true, automatic slave mode switch is enabled (this is the startup default) if transition data is false, automatic slave mode switch is disabled

Outgoing Messages
Message Type Description

interfaceBusy

void

done

void

setSpeedCompleted

void

speedUnsupported

void

dataSizeUnsupported

void

ASPI6Adapter

SPI6 GPIO Configuration PG12 ------> SPI6_MISO PG14 ------> SPI6_MOSI PG13 ------> SPI6_SCK PG8 ------> SPI6_NSS

Structure

Ports
Name Protocol Type Kind Multiplicity Description

commandCompletISR

PInterrupt

conjugated

internal

1

fct

PSPICustomCommunication

regular

relay

2

ctrl

PSPICustomCtrl

regular

relay

2

Behavior

State Machine
Top Level State
initialized

(no description)

ASPI6Adapter_Impl

Structure

Ports
Name Protocol Type Kind Multiplicity Description

fct

PSPICustomCommunication

regular

external

2

ctrl

PSPICustomCtrl

regular

external

2

commandCompletInterrupt

PInterrupt

regular

external

1

Attributes
Name Type Description

currentCommandId

uint16

currentCommandPortIdx

uint16

self_isNssActiveLow

boolean

communicationTimeout_ms

uint32

disableAutomaticSlaveSwitch

boolean

Behavior

Operations
Name Return type Arguments Description

setDataSize

void

newSize: uint8, requestingPortIdx: uint16

initHW

void

updateSPISpeed

boolean

freqInHz: uint32

State Machine
Top Level State
idle

(no description)

communicating

(no description)

initializing

(no description)

minihil.platform.adapters.uart1

Actor Classes
Name Description

ALegacyProtocolTranslatorUART1Fixed

AUsart1Adapter_miniHILV2_PB7_PA9_DMA2S0_DMA2S1

ALegacyProtocolTranslatorUART1Fixed

Structure

Ports
Name Protocol Type Kind Multiplicity Description

oldCom

PFixedSizePacketCommunication

regular

external

1

oldConfig

PUartControl

regular

external

1

newCom

PCustomUartCommunication

conjugated

external

1

newConfig

PCustomUartControl

conjugated

external

1

Attributes
Name Type Description

startByteUart

uint8

packetSize

uint8

Behavior

State Machine
Top Level State
running

(no description)

AUsart1Adapter_miniHILV2_PB7_PA9_DMA2S0_DMA2S1

Adapts a uart1 adapter to the concrete hardware uart1 interface Used resources and pins:

  • USART 1
  • PB7 (RX)
  • PA9 (TX)
  • DMA2 Stream 0 (RX)
  • DMA2 Stream 1 (TX)

Structure

Ports
Name Protocol Type Kind Multiplicity Description

comm

PFixedSizePacketCommunication

regular

relay

1

config

PUartControl

regular

relay

1

minihil.platform.adapters.uart1_custom

ProtocolClasses
Name Description

PCustomUartControl

PCustomUartCommunication

PUart1InternalConfig

Data Classes
Name Description

DCustomUartConfiguration

DCustomUartNotification

Actor Classes
Name Description

AUart1Custom_miniHILV2_PA10_PA9_DMA2S0_DMA2S1

AUart1Custom_miniHILV2_PB7_PA9_DMA2S0_DMA2S1

AUart1CustomAdapter_miniHILV2_DMA2S0_DMA2S1_impl

DCustomUartConfiguration

Attributes
Name Type Description

uartConfig

DPlatformUartConfig

receiverTimeout

uint16

RX params

initialChunkSize

uint16

noOfRxBuffers

uint8

rxBufferLength

uint16

rxBufferPtrs

uint8

Buffers will be swapped. To continuously receive data at least two buffers are needed

nextChunkHandler

customUartHandler

DCustomUartNotification

Attributes
Name Type Description

bufferPtr

uint8

dataLength

uint32

PCustomUartControl

Incoming Messages
Message Type Description

configureUart

DCustomUartConfiguration

configure UART communication

enableReceiveData

void

start receiving data

disableReceiveData

void

stop receiving data. Depending on the underlying implementation the next received packet might still be delivered.

Outgoing Messages
Message Type Description

configurationComplete

void

Reply once the configuration is completed

bufferOverflow

void

PCustomUartCommunication

Incoming Messages
Message Type Description

sendPacket

DCustomUartNotification

sending a data package

freeRxBuffer

uint8

Outgoing Messages
Message Type Description

receivedPacket

DCustomUartNotification

receiving a data packet. The received length will be stored in the len field of the transition data

sendDone

void

response to sendPackage

PUart1InternalConfig

Incoming Messages
Message Type Description

configureIos

uint32

AUart1Custom_miniHILV2_PA10_PA9_DMA2S0_DMA2S1

Adapter for hardware uart1 interface Used resources and pins:

  • USART 1
  • PA10 (RX)
  • PA9 (TX)
  • DMA2 Stream 0 (RX)
  • DMA2 Stream 1 (TX)

Structure

Ports
Name Protocol Type Kind Multiplicity Description

llUartIoConfig

PUartCustomInternalConfig

conjugated

internal

1

txIsr

PInterrupt

conjugated

internal

1

rxIsr

PInterrupt

conjugated

internal

1

errorIsr

PInterrupt

conjugated

internal

1

overflowRXIsr

PInterrupt

conjugated

internal

1

com

PCustomUartCommunication

regular

relay

1

config

PCustomUartControl

regular

relay

1

Behavior

State Machine
Top Level State
state0

(no description)

AUart1Custom_miniHILV2_PB7_PA9_DMA2S0_DMA2S1

Adapts a uart1 adapter to the concrete hardware uart1 interface Used resources and pins:

  • USART 1
  • PB7 (RX)
  • PA9 (TX)
  • DMA2 Stream 0 (RX)
  • DMA2 Stream 1 (TX)

Structure

Ports
Name Protocol Type Kind Multiplicity Description

llUartIoConfig

PUartCustomInternalConfig

conjugated

internal

1

txIsr

PInterrupt

conjugated

internal

1

rxIsr

PInterrupt

conjugated

internal

1

errorIsr

PInterrupt

conjugated

internal

1

overflowRXIsr

PInterrupt

conjugated

internal

1

com

PCustomUartCommunication

regular

relay

1

config

PCustomUartControl

regular

relay

1

Behavior

State Machine
Top Level State
state0

(no description)

AUart1CustomAdapter_miniHILV2_DMA2S0_DMA2S1_impl

Implementation for AUart1CustomAdapter_miniHILV2_PB7_PA9_DMA2S0_DMA2S1_impl

Structure

Ports
Name Protocol Type Kind Multiplicity Description

txIsr

PInterrupt

regular

external

1

rxIsr

PInterrupt

regular

external

1

errorIsr

PInterrupt

regular

external

1

overflowRXIsr

PInterrupt

regular

external

1

com

PCustomUartCommunication

regular

external

10

config

PCustomUartControl

regular

external

10

llInternalConfig

PUartCustomInternalConfig

regular

external

1

Attributes
Name Type Description

initialConfiguration

DCustomUartConfiguration

ioConfig

uint32

isIoConfigReceived

boolean

isUartConfigReceived

boolean

Behavior

Operations
Name Return type Arguments Description

initHWUart

void

config: DPlatformUartConfig

initReceiverTimeout

void

timeoutInBitTimes: uint32

enableReceiver

void

length: int8

initActor

void

configuration: DCustomUartConfiguration

State Machine
Top Level State
waitingForConfig

(no description)

configured

(no description)

minihil.platform.adapters.uart1_variable_size

Actor Classes
Name Description

ALegacyProtocolTranslatorUART1

AUsart1VariableSizeAdapter_miniHILV2_PB7_PA9_DMA2S0_DMA2S1

ALegacyProtocolTranslatorUART1

Structure

Ports
Name Protocol Type Kind Multiplicity Description

oldCom

PVariableSizePacketCommunication

regular

external

1

oldConfig

PVariableSizeUartControl

regular

external

1

newCom

PCustomUartCommunication

conjugated

external

1

newConfig

PCustomUartControl

conjugated

external

1

Behavior

State Machine
Top Level State
running

(no description)

AUsart1VariableSizeAdapter_miniHILV2_PB7_PA9_DMA2S0_DMA2S1

Adapts a uart1 adapter to the concrete hardware uart1 interface Used resources and pins:

  • USART 1
  • PB7 (RX)
  • PA9 (TX)
  • DMA2 Stream 0 (RX)
  • DMA2 Stream 1 (TX)

Structure

Ports
Name Protocol Type Kind Multiplicity Description

comm

PVariableSizePacketCommunication

regular

relay

1

config

PVariableSizeUartControl

regular

relay

1

minihil.platform.adapters.uart2

Actor Classes
Name Description

AUsart2Adapter_miniHILV2_PD5_PD6_DMA2S2_DMA2S3

AUsart2Adapter_miniHILV2_PD5_PD6_DMA2S2_DMA2S3_impl

AUsart2Adapter_miniHILV2_PD5_PD6_DMA2S2_DMA2S3

Adapts a uart2 adapter to the concrete hardware uart2 interface Used resources and pins:

  • USART 2
  • PD5 (TX)
  • PD6 (RX)
  • DMA2 Stream 2 (RX)
  • DMA2 Stream 3 (TX)

Structure

Ports
Name Protocol Type Kind Multiplicity Description

txIsr

PInterrupt

conjugated

internal

1

rxIsr

PInterrupt

conjugated

internal

1

errorIsr

PInterrupt

conjugated

internal

1

comm

PFixedSizePacketCommunication

regular

relay

1

config

PUartControl

regular

relay

1

Behavior

State Machine
Top Level State
state0

(no description)

AUsart2Adapter_miniHILV2_PD5_PD6_DMA2S2_DMA2S3_impl

Implementation for AUsart2Adapter_miniHILV2_PD5_PD6_DMA2S2_DMA2S3

Structure

Ports
Name Protocol Type Kind Multiplicity Description

txIsr

PInterrupt

regular

external

1

rxIsr

PInterrupt

regular

external

1

errorIsr

PInterrupt

regular

external

1

comm

PFixedSizePacketCommunication

regular

external

1

config

PUartControl

regular

external

1

Attributes
Name Type Description

uart_packet_size

uint16

uart_start_byte

uint8

receiverEnabled

boolean

uart_current_packet_offset

uint8

amount of bytes by which the currently received packet is out of sync. After a sync period this should be = 0

Behavior

Operations
Name Return type Arguments Description

initHWUart

void

config: DUartConfiguration

syncUart

void

enableReceiver

void

length: int8

State Machine
Top Level State
idle

(no description)

configured

(no description)

minihil.platform.adapters.uart2_custom

Actor Classes
Name Description

AUart2Custom_miniHILV2_PD3_PD4_PD5_PD6_DMA2S2_DMA2S3

AUart2CustomAdapter_miniHILV2_DMA2S2_DMA2S3_impl

AUart2Custom_miniHILV2_PD3_PD4_PD5_PD6_DMA2S2_DMA2S3

Adapter for hardware uart2 interface with optional hardware flow control Used resources and pins:

  • UART 2
  • PD6 (RX)
  • PD5 (TX)
  • PD3 (CTS)
  • PD4 (RTS)
  • DMA2 Stream 2 (RX)
  • DMA2 Stream 3 (TX)

Structure

Ports
Name Protocol Type Kind Multiplicity Description

llUartIoConfig

PUartCustomInternalConfig

conjugated

internal

1

txIsr

PInterrupt

conjugated

internal

1

rxIsr

PInterrupt

conjugated

internal

1

errorIsr

PInterrupt

conjugated

internal

1

overflowRXIsr

PInterrupt

conjugated

internal

1

com

PCustomUartCommunication

regular

relay

10

config

PCustomUartControl

regular

relay

10

Behavior

State Machine
Top Level State
state0

(no description)

AUart2CustomAdapter_miniHILV2_DMA2S2_DMA2S3_impl

Implementation for AUart2CustomAdapter_miniHILV2_DMA2S2_DMA2S3_impl

Structure

Ports
Name Protocol Type Kind Multiplicity Description

txIsr

PInterrupt

regular

external

1

rxIsr

PInterrupt

regular

external

1

errorIsr

PInterrupt

regular

external

1

overflowRXIsr

PInterrupt

regular

external

1

com

PCustomUartCommunication

regular

external

10

config

PCustomUartControl

regular

external

10

llInternalConfig

PUartCustomInternalConfig

regular

external

1

Attributes
Name Type Description

initialConfiguration

DCustomUartConfiguration

ioConfig

uint32

isIoConfigReceived

boolean

isUartConfigReceived

boolean

Behavior

Operations
Name Return type Arguments Description

initHWUart

void

config: DPlatformUartConfig

initReceiverTimeout

void

timeoutInBitTimes: uint32

enableReceiver

void

length: int8

initActor

void

configuration: DCustomUartConfiguration

State Machine
Top Level State
waitingForConfig

(no description)

configured

(no description)

minihil.platform.adapters.uart2_variable_size

Actor Classes
Name Description

ALegacyProtocolTranslatorUART2

AUsart2VariableSizeAdapter_miniHILV2_PD5_PD6_DMA2S2_DMA2S3

ALegacyProtocolTranslatorUART2

Structure

Ports
Name Protocol Type Kind Multiplicity Description

oldCom

PVariableSizePacketCommunication

regular

external

1

oldConfig

PVariableSizeUartControl

regular

external

1

newCom

PCustomUartCommunication

conjugated

external

1

newConfig

PCustomUartControl

conjugated

external

1

Behavior

State Machine
Top Level State
running

(no description)

AUsart2VariableSizeAdapter_miniHILV2_PD5_PD6_DMA2S2_DMA2S3

Adapts a uart2 adapter to the concrete hardware uart2 interface Used resources and pins:

  • USART 2
  • PD5 (TX)
  • PD6 (RX)
  • DMA2 Stream 2 (RX)
  • DMA2 Stream 3 (TX)

Structure

Ports
Name Protocol Type Kind Multiplicity Description

comm

PVariableSizePacketCommunication

regular

relay

1

config

PVariableSizeUartControl

regular

relay

1

minihil.platform.adapters.uart2_variable_size_v2

Actor Classes
Name Description

AUsart2VariableSizeAdapterV2_miniHILV2_PD5_PD6_DMA2S2_DMA2S3

AUsart2VariableSizeAdapterV2_miniHILV2_PD5_PD6_DMA2S2_DMA2S3_impl

AUsart2VariableSizeAdapterV2_miniHILV2_PD5_PD6_DMA2S2_DMA2S3

Adapts a uart2 adapter to the concrete hardware uart2 interface Used resources and pins:

  • USART 2
  • PD5 (TX)
  • PD6 (RX)
  • DMA2 Stream 2 (RX)
  • DMA2 Stream 3 (TX)

Structure

Ports
Name Protocol Type Kind Multiplicity Description

txIsr

PInterrupt

conjugated

internal

1

rxIsr

PInterrupt

conjugated

internal

1

errorIsr

PInterrupt

conjugated

internal

1

comm

PVariableSizePacketCommunication

regular

relay

1

config

PVariableSizeUartControl

regular

relay

1

Behavior

State Machine
Top Level State
state0

(no description)

AUsart2VariableSizeAdapterV2_miniHILV2_PD5_PD6_DMA2S2_DMA2S3_impl

Implementation for AUsart2VariableSizeAdapter_miniHILV2_PD5_PD6_DMA2S2_DMA2S3

Structure

Ports
Name Protocol Type Kind Multiplicity Description

txIsr

PInterrupt

regular

external

1

rxIsr

PInterrupt

regular

external

1

errorIsr

PInterrupt

regular

external

1

comm

PVariableSizePacketCommunication

regular

external

1

config

PVariableSizeUartControl

regular

external

1

Behavior

Operations
Name Return type Arguments Description

initHWUart

void

config: DUartVariableSizeConfiguration

initReceiverTimeout

void

timeoutInBitTimes: int32

enableReceiver

void

State Machine
Top Level State
idle

(no description)

configured

(no description)

minihil.platform.adapters.uart3_custom

ProtocolClasses
Name Description

PUart3InternalConfig

Actor Classes
Name Description

AUart3Custom_miniHILV2_PD8_PD9_DMA1S6_DMA1S7

AUart3CustomAdapter_miniHILV2_DMA1S6_DMA1S7_impl

PUart3InternalConfig

Incoming Messages
Message Type Description

configureIos

uint32

AUart3Custom_miniHILV2_PD8_PD9_DMA1S6_DMA1S7

Adapter for hardware uart3 interface Used resources and pins:

  • USART 3
  • PD8 (TX)
  • PD9 (RX)
  • DMA1 Stream 6 (RX)
  • DMA1 Stream 7 (TX)

Structure

Ports
Name Protocol Type Kind Multiplicity Description

llUartIoConfig

PUartCustomInternalConfig

conjugated

internal

1

txIsr

PInterrupt

conjugated

internal

1

rxIsr

PInterrupt

conjugated

internal

1

errorIsr

PInterrupt

conjugated

internal

1

overflowRXIsr

PInterrupt

conjugated

internal

1

com

PCustomUartCommunication

regular

relay

10

config

PCustomUartControl

regular

relay

10

Behavior

State Machine
Top Level State
state0

(no description)

AUart3CustomAdapter_miniHILV2_DMA1S6_DMA1S7_impl

Implementation for AUart3CustomAdapter_miniHILV2_PD8_PD9_DMA1S6_DMA1S7_impl

Structure

Ports
Name Protocol Type Kind Multiplicity Description

txIsr

PInterrupt

regular

external

1

rxIsr

PInterrupt

regular

external

1

errorIsr

PInterrupt

regular

external

1

overflowRXIsr

PInterrupt

regular

external

1

com

PCustomUartCommunication

regular

external

10

config

PCustomUartControl

regular

external

10

llInternalConfig

PUartCustomInternalConfig

regular

external

1

Attributes
Name Type Description

initialConfiguration

DCustomUartConfiguration

ioConfig

uint32

isIoConfigReceived

boolean

isUartConfigReceived

boolean

Behavior

Operations
Name Return type Arguments Description

initHWUart

void

config: DPlatformUartConfig

initReceiverTimeout

void

timeoutInBitTimes: uint32

enableReceiver

void

length: int8

initActor

void

configuration: DCustomUartConfiguration

State Machine
Top Level State
waitingForConfig

(no description)

configured

(no description)

minihil.platform.adapters.uart7_custom

Actor Classes
Name Description

AUart7Custom_miniHILV2_PB3_PE9_PE8_DMA2S4_DMA2S5

ACustomUart7Tester

AUart7CustomAdapter_miniHILV2_DMA2S4_DMA2S5_impl

AUart7Custom_miniHILV2_PB3_PE9_PE8_DMA2S4_DMA2S5

Adapter for hardware uart7 interface with optional RS485 flow control Used resources and pins:

  • UART 7
  • PB3 (RX)
  • PE9 (DE)
  • PE8 (TX)
  • DMA2 Stream 4 (RX)
  • DMA2 Stream 5 (TX)

Structure

Ports
Name Protocol Type Kind Multiplicity Description

llUartIoConfig

PUartCustomInternalConfig

conjugated

internal

1

txIsr

PInterrupt

conjugated

internal

1

rxIsr

PInterrupt

conjugated

internal

1

errorIsr

PInterrupt

conjugated

internal

1

overflowRXIsr

PInterrupt

conjugated

internal

1

com

PCustomUartCommunication

regular

relay

10

config

PCustomUartControl

regular

relay

10

Behavior

State Machine
Top Level State
state0

(no description)

ACustomUart7Tester

Structure

Ports
Name Protocol Type Kind Multiplicity Description

uartCtrl

PCustomUartControl

conjugated

external

1

uartCom

PCustomUartCommunication

conjugated

external

1

Behavior

State Machine
Top Level State
configuring

(no description)

active

(no description)

delay

(no description)

AUart7CustomAdapter_miniHILV2_DMA2S4_DMA2S5_impl

Implementation for AUart7CustomAdapter_miniHILV2_DMA2S4_DMA2S5_impl

Structure

Ports
Name Protocol Type Kind Multiplicity Description

txIsr

PInterrupt

regular

external

1

rxIsr

PInterrupt

regular

external

1

errorIsr

PInterrupt

regular

external

1

overflowRXIsr

PInterrupt

regular

external

1

com

PCustomUartCommunication

regular

external

10

config

PCustomUartControl

regular

external

10

llInternalConfig

PUartCustomInternalConfig

regular

external

1

Attributes
Name Type Description

initialConfiguration

DCustomUartConfiguration

ioConfig

uint32

isIoConfigReceived

boolean

isUartConfigReceived

boolean

Behavior

Operations
Name Return type Arguments Description

initHWUart

void

config: DPlatformUartConfig

initReceiverTimeout

void

timeoutInBitTimes: uint32

enableReceiver

void

length: int8

initActor

void

configuration: DCustomUartConfiguration

State Machine
Top Level State
waitingForConfig

(no description)

configured

(no description)

minihil.platform.adapters.uart8_custom

Actor Classes
Name Description

AUart8Custom_miniHILV2_PJ8_PJ9_PD14_PD15_DMA2S6_DMA2S7

ACustomUartTester

AUart8CustomAdapter_miniHILV2_DMA2S6_DMA2S7_impl

AUart8Custom_miniHILV2_PJ8_PJ9_PD14_PD15_DMA2S6_DMA2S7

Adapter for hardware uart8 interface with optional hardware flow control Used resources and pins:

  • UART 8
  • PJ9 (RX)
  • PJ8 (TX)
  • PD14 (CTS)
  • PD15 (RTS)
  • DMA2 Stream 6 (RX)
  • DMA2 Stream 7 (TX)

Structure

Ports
Name Protocol Type Kind Multiplicity Description

llUartIoConfig

PUartCustomInternalConfig

conjugated

internal

1

txIsr

PInterrupt

conjugated

internal

1

rxIsr

PInterrupt

conjugated

internal

1

errorIsr

PInterrupt

conjugated

internal

1

overflowRXIsr

PInterrupt

conjugated

internal

1

com

PCustomUartCommunication

regular

relay

10

config

PCustomUartControl

regular

relay

10

Behavior

State Machine
Top Level State
state0

(no description)

ACustomUartTester

Structure

Ports
Name Protocol Type Kind Multiplicity Description

uartCtrl

PCustomUartControl

conjugated

external

1

uartCom

PCustomUartCommunication

conjugated

external

1

Behavior

State Machine
Top Level State
configuring

(no description)

active

(no description)

delay

(no description)

AUart8CustomAdapter_miniHILV2_DMA2S6_DMA2S7_impl

Implementation for AUart8CustomAdapter_miniHILV2_DMA2S6_DMA2S7_impl

Structure

Ports
Name Protocol Type Kind Multiplicity Description

txIsr

PInterrupt

regular

external

1

rxIsr

PInterrupt

regular

external

1

errorIsr

PInterrupt

regular

external

1

overflowRXIsr

PInterrupt

regular

external

1

com

PCustomUartCommunication

regular

external

10

config

PCustomUartControl

regular

external

10

llInternalConfig

PUartCustomInternalConfig

regular

external

1

Attributes
Name Type Description

initialConfiguration

DCustomUartConfiguration

ioConfig

uint32

isIoConfigReceived

boolean

isUartConfigReceived

boolean

Behavior

Operations
Name Return type Arguments Description

initHWUart

void

config: DPlatformUartConfig

initReceiverTimeout

void

timeoutInBitTimes: uint32

enableReceiver

void

length: int8

initActor

void

configuration: DCustomUartConfiguration

State Machine
Top Level State
waitingForConfig

(no description)

configured

(no description)

minihil.platform.adapters.uart_custom

ProtocolClasses
Name Description

PUartCustomInternalConfig

Data Classes
Name Description

DUartCustomInternalConfig

DUartCustomInternalConfig

Attributes
Name Type Description

ios

uint32

rxIsrPort

PInterruptConjPort

txIsrPort

PInterruptConjPort

errorIsrPort

PInterruptConjPort

overflowIsrPort

PInterruptConjPort

PUartCustomInternalConfig

Incoming Messages
Message Type Description

configure

DUartCustomInternalConfig

minihil.platform.dashboard

Actor Classes
Name Description

ADashboardService

ADashboardService

Structure

Behavior

State Machine
Top Level State
init

(no description)

registered

(no description)

minihil.platform.datetime

Actor Classes
Name Description

ADateTimeService

ADateTimeService

Structure

Behavior

State Machine
Top Level State
active

(no description)

minihil.platform.eth

ProtocolClasses
Name Description

PMiniHilLWIPCtrl

PTcpConnectionCtrl

PTcpData

Data Classes
Name Description

DIpV4Config

DTcpConnect

DTcpData

Actor Classes
Name Description

ATcpClientContainer

AMiniHilLWIP

ALWIPTcpConnectionHandler

AMiniHilLWIPImpl

DIpV4Config

Represents an IPv4 network configuration.

Attributes
Name Type Description

ipV4Addr

uint8

netmaskV4

uint8

gatewayV4

uint8

DTcpConnect

Attributes
Name Type Description

ipV4Addr

uint8

port

uint16

DTcpData

Attributes
Name Type Description

length

uint16

dataPtr

uint8

PMiniHilLWIPCtrl

Incoming Messages
Message Type Description

startWithDhcp

void

Request to start the network interface using DHCP. Expect a 'startComplete()' message when the network interface is up, and a 'dhcpIpAssigned(DIpV4Config)' message when an IP address is assigned by DHCP.

startWithFixedIp

DIpV4Config

Request to start the network interface using the provided IP configuration. Expect a 'startComplete()' message in response, indicating that the network interface has been successfully initialized.

Outgoing Messages
Message Type Description

startComplete

void

Indicates the successful initialization of the network interface. Reply to either 'startWithDhcp()' or 'startWithFixedIp()' commands.

linkStateChanged

boolean

Reports a change in the link state of the network interface. The boolean value indicates the new state: 'true' for up and 'false' for down.

dhcpIpAssigned

DIpV4Config

Delivers the IP configuration assigned by DHCP. Only sent after the interface has been started in DHCP mode using a 'startWithDhcp()' request, Payload contains the IP address, netmask, and gateway assigned by the DHCP server.

PTcpConnectionCtrl

Incoming Messages
Message Type Description

connect

DTcpConnect

disconnect

void

Outgoing Messages
Message Type Description

connected

void

disconnected

void

error

void

PTcpData

Incoming Messages
Message Type Description

send

DTcpData

Outgoing Messages
Message Type Description

received

DTcpData

sendError

void

ATcpClientContainer

Structure

Ports
Name Protocol Type Kind Multiplicity Description

connectionCtrl

PTcpConnectionCtrl

regular

relay

1

lwipCtrl

PMiniHilLWIPCtrl

regular

relay

1

connectionTcpData

PTcpData

regular

relay

1

AMiniHilLWIP

ActorClass responsible for managing the Lightweight IP (LWIP) stack. It provides interfaces to initiate the LWIP stack with either DHCP or a static IP address configuration. This actor acts as a mediator between the network stack and higher-level system components, handling network initialization, processing network events, and reporting status changes.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

isr

PInterrupt

conjugated

internal

1

implCtrl

PMiniHilLWIPCtrl

conjugated

internal

1

ctrl

PMiniHilLWIPCtrl

regular

external

1

Behavior

State Machine
Top Level State
idle

(no description)

started

(no description)

ALWIPTcpConnectionHandler

Handles a single TCP connection for the LWIP stack. Manages the lifecycle of this connection including establishment, data transmission, and disconnection. Designed to manage only one connection at a time; multiple instances are required for handling multiple connections.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PTcpConnectionCtrl

regular

external

1

tcpData

PTcpData

regular

external

1

Attributes
Name Type Description

tcpProtocolControlBlock

tcp_pcb

isConnected

boolean

dataRecvBuffer

uint8

Behavior

Operations
Name Return type Arguments Description

clientConnectedCallback

err_t

pcb: tcp_pcb, err: err_t

Callback called by lwip. The callbacks first parameter will be the actors self ptr

connectionErrCallback

void

err: err_t

connectionRecvCallback

err_t

pcb: tcp_pcb, payloadBuf: lwip_pbuf, err: err_t

doConnect

void

data: DTcpConnect

doDisconnect

boolean

doSend

boolean

sendData: DTcpData

State Machine
Top Level State
idle

(no description)

connecting

(no description)

connected

(no description)

AMiniHilLWIPImpl

Implements the internal mechanisms for AMiniHilLWIP, handling the low-level operations of the LWIP stack. Must not be used directly. Use AMiniHilLWIP actor instead.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PMiniHilLWIPCtrl

regular

external

1

isr

PInterrupt

regular

external

1

Attributes
Name Type Description

rxIsrFired

boolean

waitingForDHCPAddress

boolean

isDHCPEnabled

boolean

lastEthernetIfUpState

boolean

Behavior

Operations
Name Return type Arguments Description

checkLinkState

void

must be called regularly (e.g. every 100 ms to update link state)

processLwipTimouts

void

must be called regularly to handle lwip internal timeouts

processInput

void

must either be called regularly to move input data to lwip or triggered by hardware interrupt

initLwIP

void

registerNetworkInterface

void

ip: ip4_addr_t, netmask: ip4_addr_t, gw: ip4_addr_t

configureInterfaceWithDHCP

void

configureInterfaceWithStaticIp

void

ipConfig: DIpV4Config

isEthInterfaceUp

boolean

State Machine
Top Level State
active

(no description)

minihil.platform.events

ProtocolClasses
Name Description

PTimingEventHandlerCfg

Actor Classes
Name Description

ATimingEventHandler

ATimingEventHandlerImpl

PTimingEventHandlerCfg

Incoming Messages
Message Type Description

setIsrPort

PInterruptConjPort

ATimingEventHandler

Structure

Ports
Name Protocol Type Kind Multiplicity Description

timingISR

PInterrupt

conjugated

internal

1

conf

PTimingEventHandlerCfg

conjugated

internal

1

Behavior

State Machine
Top Level State
initialized

(no description)

ATimingEventHandlerImpl

Structure

Ports
Name Protocol Type Kind Multiplicity Description

timingInterruptISR

PInterrupt

regular

external

1

conf

PTimingEventHandlerCfg

regular

external

1

Attributes
Name Type Description

timingISRPort

PInterruptConjPort

count

uint8

Behavior

Operations
Name Return type Arguments Description

register100UsCallback

void

State Machine
Top Level State
unconfigured

(no description)

active

(no description)

minihil.platform.i2c

ProtocolClasses
Name Description

PI2CMasterCtrl

PI2CInterruptConfigProvider

PTpl0401Ctrl

Data Classes
Name Description

DI2CWriteRequest

DI2CReadRequest

DI2CReadResult

Actor Classes
Name Description

AI2CMaster2Adapter

AI2CMasterISR

AI2CMasterAdapterImpl

ATpl0404Ctrl_Tester

ATpl0401Ctrl

ASlowSpeedI2CMaster

DI2CWriteRequest

Attributes
Name Type Description

address

uint8

data

uint8

length

uint8

DI2CReadRequest

Attributes
Name Type Description

address

uint8

length

uint8

DI2CReadResult

Attributes
Name Type Description

data

uint8

length

uint8

PI2CMasterCtrl

Incoming Messages
Message Type Description

write

DI2CWriteRequest

read

DI2CReadRequest

releaseBus

void

Outgoing Messages
Message Type Description

writeComplete

void

readComplete

DI2CReadResult

busReleased

void

nack

void

error

void

PI2CInterruptConfigProvider

Incoming Messages
Message Type Description

config

I2CPlatformInterrupts

Outgoing Messages
Message Type Description

getConfig

void

PTpl0401Ctrl

Incoming Messages
Message Type Description

setWiperPositionA

uint8

setWiperPositionB

uint8

Outgoing Messages
Message Type Description

done

void

accepted

void

busy

void

AI2CMaster2Adapter

Used Pins: - PF0: I2C2_SDA - PF1: I2C2_SCL

Used I2C Hardware: I2C2

Structure

Ports
Name Protocol Type Kind Multiplicity Description

isrConfig

PI2CInterruptConfigProvider

regular

internal

1

masterTxRxCpltISR

PInterrupt

regular

internal

1

errorISR

PInterrupt

regular

internal

1

fct

PI2CMasterCtrl

regular

external

1

Behavior

Operations
Name Return type Arguments Description

initI2CHardware

boolean

hi2c: I2C_HandleTypeDef, callbacks: I2CPlatformCallbacks, interrupts: I2CPlatformInterrupts

AI2CMasterISR

Structure

Ports
Name Protocol Type Kind Multiplicity Description

cfg

PI2CInterruptConfigProvider

conjugated

external

1

masterTxRxCpltISR

PInterrupt

conjugated

external

1

errorISR

PInterrupt

conjugated

external

1

Attributes
Name Type Description

configData

I2CPlatformInterrupts

Behavior

State Machine
Top Level State
active

(no description)

AI2CMasterAdapterImpl

I2C Master Using HW Peripheral. Based around I2C/I2CPlatform runtime API.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

isrConfig

PI2CInterruptConfigProvider

regular

internal

1

masterTxRxCpltISR

PInterrupt

regular

internal

1

errorISR

PInterrupt

regular

internal

1

fct

PI2CMasterCtrl

regular

external

1

Attributes
Name Type Description

masterBuffer

uint8

currentSize

uint8

Behavior

Operations
Name Return type Arguments Description

initI2CHardware

boolean

hi2c: I2C_HandleTypeDef, callbacks: I2CPlatformCallbacks, interrupts: I2CPlatformInterrupts

isErrorNack

boolean

State Machine
Top Level State
initializing

(no description)

idle

(no description)

sending

(no description)

busIdleInStart

(no description)

IdleFromRead

(no description)

IdleFromWrite

(no description)

reading

(no description)

stopping

(no description)

ATpl0404Ctrl_Tester

Structure

Ports
Name Protocol Type Kind Multiplicity Description

toDUT

PTpl0401Ctrl

conjugated

external

1

Attributes
Name Type Description

currentValue

uint8

Behavior

State Machine
Top Level State
state0

(no description)

state1

(no description)

state2

(no description)

ATpl0401Ctrl

Structure

Ports
Name Protocol Type Kind Multiplicity Description

i2c

PI2CMasterCtrl

conjugated

internal

1

fct

PTpl0401Ctrl

regular

external

1

Attributes
Name Type Description

i2cAddressB

uint8

i2cAddressA

uint8

Behavior

State Machine
Top Level State
idle

(no description)

writingValue

(no description)

waitingForRelease

(no description)

ASlowSpeedI2CMaster

Software I2C Master ~2.4 kHz Clock. Supports slave clock stretching. IOs: PJ14 -> SDA PJ15 -> SCL

Structure

Ports
Name Protocol Type Kind Multiplicity Description

fct

PI2CMasterCtrl

regular

external

1

Attributes
Name Type Description

i2cContext

SoftI2CContext

i2cRxBuffer

uint8

i2cTxBuffer

uint8

Behavior

Operations
Name Return type Arguments Description

registerCallback

void

initContext

void

setSda

void

pinState: uint8

setScl

void

pinState: uint8

getSda

uint8

getScl

uint8

initIOs

void

State Machine
Top Level State
idle

(no description)

sending

(no description)

busIdleInStart

(no description)

reading

(no description)

stopping

(no description)

minihil.platform.ioservice

ProtocolClasses
Name Description

PDigOutServiceCtrl

PDigInServiceCtrl

Enumeration Types
Name Description

EDigOut_State

Actor Classes
Name Description

AAnalogOutputService

ADigitalOutputService

ADigitalInputServiceStarter

ADigitalInputService

ADigitalInputServiceImpl

EDigOut_State

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

LOW

0

0x0

0

HIGH

1

0x1

1

TRISTATE

2

0x2

10

PDigOutServiceCtrl

Incoming Messages
Message Type Description

setInstanceID

uint8

PDigInServiceCtrl

Incoming Messages
Message Type Description

start

uint32

Poll time in ms, 0=>interrupt

stop

void

AAnalogOutputService

Structure

Attributes
Name Type Description

outputs

EUser_AnalogOutputs

connectedSAPs

uint32

instanceID

uint8

Behavior

State Machine
Top Level State
operational

(no description)

ADigitalOutputService

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PDigOutServiceCtrl

regular

external

1

Attributes
Name Type Description

connectedSAPs

uint32

outputs

EUser_DigitalOutputs

dummy

EDigOut_State

instanceID

uint8

Behavior

State Machine
Top Level State
operational

(no description)

ADigitalInputServiceStarter

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PDigInServiceCtrl

conjugated

external

1

Behavior

State Machine
Top Level State
state0

(no description)

ADigitalInputService

Structure

Ports
Name Protocol Type Kind Multiplicity Description

isr

PInterrupt

conjugated

internal

1

ctrlIntern

PDigInServiceCtrl

conjugated

internal

1

ctrl

PDigInServiceCtrl

regular

external

1

Behavior

State Machine
Top Level State
state0

(no description)

ADigitalInputServiceImpl

TODO create replacement in new namespace

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PDigInServiceCtrl

regular

external

1

isr

PInterrupt

regular

external

1

Attributes
Name Type Description

connectedSAPs

uint32

inputs

EUser_DigitalInputs

pinState

uint8

instanceID

uint8

Behavior

Operations
Name Return type Arguments Description

getPortIndexFromPinId

uint32

id: int8, idx: uint32

update

void

getInputPins

void

State Machine
Top Level State
state0

(no description)

minihil.platform.logger

Actor Classes
Name Description

ALoggerServiceAPI

ALoggerServiceAPI

Implementation of etrice.api.logger.PLogger This just satisfy the SAPs. Implementation is in PLogger.

Structure

minihil.platform.multichannel

ProtocolClasses
Name Description

PMultiChannelComm

Actor Classes
Name Description

AbstractMultiChannelService

PMultiChannelComm

Protocol for multi channel communication.
Sending is sync with arbitrary length. Receive is async with static packet. For remote synchronization see PRemoteApplicationStatus.

Incoming Messages
Message Type Description

registerChannel

int8

register channel acknowledged by connected

Outgoing Messages
Message Type Description

registered

void

register channel successful

unregistered

void

registered channel lost

receivedPacket

DStaticPacket

RECEIVE: received packet from registered channel

channelOpened

void

Application opened channel

channelClosed

void

Application closed channel

Conjugated PortClass

Operations
Name Return type Arguments Description

sendBytes

boolean

bytes: uint8, size: uint16

Send some bytes on registered channel

sendPacket

boolean

packet: DStaticPacket

Send static packet on registered channel

allocBuffer

uint8

size: uint16

Get buffer for registered channel

sendBuffer

void

buffer: uint8, size: uint16

Send previously allocated buffer for registered channel

isOpen

boolean

AbstractMultiChannelService

Structure

Ports
Name Protocol Type Kind Multiplicity Description

multiChannelStatus

PMultiChannelStatus

regular

internal

1

internalStaticPacketIn

PStaticPacket

conjugated

internal

1

internalStaticPacketOut

PStaticPacket

regular

internal

1

connectionStatus

POnOff

regular

external

1

Attributes
Name Type Description

portIdx2Channel

int8

registrationClosed

boolean

Behavior

Operations
Name Return type Arguments Description

getChannel

int8

portIdx: int32

getPortIdx

int32

channel: int8

receive

void

channel: int8, buffer: uint8, size: uint16

State Machine
Top Level State
waitInit

(no description)

init

(no description)

running

(no description)

minihil.platform.multichannelusb

Actor Classes
Name Description

MultiChannelUSBService

MultiChannelUSBIsr

MultiChannelUSBService

Structure

Ports
Name Protocol Type Kind Multiplicity Description

isrHSRx

PInterrupt

regular

internal

1

multiChannelStatus

PMultiChannelStatus

regular

internal

1

internalStaticPacketIn

PStaticPacket

conjugated

internal

1

internalStaticPacketOut

PStaticPacket

regular

internal

1

connectionStatus

POnOff

regular

external

1

Behavior

State Machine
Top Level State

MultiChannelUSBIsr

Structure

Ports
Name Protocol Type Kind Multiplicity Description

isrHSRxExported

PInterrupt

conjugated

external

1

Behavior

State Machine
Top Level State
state0

(no description)

minihil.platform.platformstatistics

Actor Classes
Name Description

AStatisticsSnapshotWriter

AStatisticsSnapshotWriter

Writes snapshot of platform statistics every x ms to multi channel

Structure

Attributes
Name Type Description

timerMs

uint16

Behavior

Operations
Name Return type Arguments Description

writeStatistics

void

writeHeader: boolean

State Machine
Top Level State
idle

(no description)

wait

(no description)

timerSupervision

(no description)

init

(no description)

minihil.platform.remote.bootloader

Enumeration Types
Name Description

BootloaderCmdId

Actor Classes
Name Description

ABootloaderGateway

BootloaderCmdId

The literals of this enumeration are based on PrimitiveType uint8.

Literals
Name Value Hex Value Binary Value

Erase

238

0xee

11101110

Program

171

0xab

10101011

Execute

205

0xcd

11001101

Status

190

0xbe

10111110

StartBtldr

218

0xda

11011010

ABootloaderGateway

Structure

Behavior

State Machine
Top Level State
running

(no description)

wait4Connection

(no description)

minihil.platform.remote.gatewayconnection

Actor Classes
Name Description

AMultiChannelDataConfigGateway

AMultiChannelPlatformGateway

AMultiChannelDataConfigGateway

Structure

Ports
Name Protocol Type Kind Multiplicity Description

out

PStaticPacket

conjugated

external

1

in

PStaticPacket

regular

external

1

Behavior

State Machine
Top Level State
running

(no description)

wait4Connection

(no description)

AMultiChannelPlatformGateway

Structure

Ports
Name Protocol Type Kind Multiplicity Description

out

PStaticPacket

conjugated

external

1

in

PStaticPacket

regular

external

1

Behavior

State Machine
Top Level State
running

(no description)

init

(no description)

minihil.platform.remote.gateways

Actor Classes
Name Description

APlatformGateway

AMultiChannelGateway

ADataConfigGateway

APlatformGateway

Heartbeat, test control etc

Structure

Ports
Name Protocol Type Kind Multiplicity Description

heartbeat

PHeartbeat

conjugated

external

1

idInfo

PIdInfo

conjugated

external

1

timeExchange

PTimeExchange

conjugated

external

1

connectionStatus

PConnectionStatus

conjugated

external

1

testselect

PSelectableTest

regular

external

1

dataIn

PStaticPacket

regular

external

1

dataOut

PStaticPacket

conjugated

external

1

AMultiChannelGateway

Multichannel control

Structure

Ports
Name Protocol Type Kind Multiplicity Description

multiChannelStatus

PMultiChannelStatus

conjugated

external

1

dataIn

PStaticPacket

regular

external

1

dataOut

PStaticPacket

conjugated

external

1

ADataConfigGateway

GUI data.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

remote

DataConfiguration

conjugated

external

1

dataIn

PStaticPacket

regular

external

1

dataOut

PStaticPacket

conjugated

external

1

minihil.platform.remote.remoteprotocols

ProtocolClasses
Name Description

PConnectionStatus

PTimeExchange

PIdInfo

PHeartbeat

PMultiChannelStatus

Data Classes
Name Description

DMcuUID

DTstHwStr

DMcuUID

Attributes
Name Type Description

upper64

int64

lower32

int32

DTstHwStr

Attributes
Name Type Description

len

int8

data

char

PConnectionStatus

Connection status

Incoming Messages
Message Type Description

connected

void

PTimeExchange

Set time of minihil

Incoming Messages
Message Type Description

setTime

int64

set time in UTC milliseconds (beware of latency)

getTime

void

get time in UTC milliseconds

Outgoing Messages
Message Type Description

currentTime

int64

current time in UTC milliseconds (beware of latency)

PIdInfo

Identity and information of miniHIL.

Incoming Messages
Message Type Description

getIDs

void

Outgoing Messages
Message Type Description

mcuUID

DMcuUID

nfcTstHw

DTstHwStr

PHeartbeat

Simple heartbeat for miniHIL <-> PC.

Incoming Messages
Message Type Description

ping

int32

Response is pong.

Outgoing Messages
Message Type Description

pong

int32

Answer of ping with incremented value.

PMultiChannelStatus

MultiChannel status for miniHIL <- PC.

Incoming Messages
Message Type Description

getRegistrationDone

void

multiChannelOpen

int32

Application has opened channel

multiChannelClosed

int32

Application has closed channel

Outgoing Messages
Message Type Description

registrationDone

void

Channels ready to open

minihil.platform.remote.remotestatus

Actor Classes
Name Description

APlatformContainer

AConnectionStatus

AIdInfo

AHeartbeat

ATimeExchange

APlatformContainer

Structure

Ports
Name Protocol Type Kind Multiplicity Description

dataIn

PStaticPacket

regular

relay

1

dataOut

PStaticPacket

conjugated

relay

1

connectionStatus

PConnectionStatus

conjugated

relay

1

testselect

PSelectableTest

regular

relay

1

AConnectionStatus

Provides connection status via POnOff. Additionally cancel running tests when disconnected.

Structure

Ports
Name Protocol Type Kind Multiplicity Description

driverNotify

PSendQueueNotify

conjugated

external

1

remoteConnection

PConnectionStatus

regular

external

1

connectedStatus

POnOff

conjugated

external

*

testCtrl

PSelectableTest

regular

external

1

Behavior

State Machine
Top Level State
idle

(no description)

connected

(no description)

AIdInfo

Structure

Ports
Name Protocol Type Kind Multiplicity Description

identInfo

PIdInfo

regular

external

1

Behavior

State Machine
Top Level State
idle

(no description)

AHeartbeat

Structure

Ports
Name Protocol Type Kind Multiplicity Description

heartbeat

PHeartbeat

regular

external

1

Behavior

State Machine
Top Level State
running

(no description)

ATimeExchange

Structure

Ports
Name Protocol Type Kind Multiplicity Description

timeExchange

PTimeExchange

regular

external

1

Behavior

State Machine
Top Level State
idle

(no description)

minihil.platform.remotecontainer

Actor Classes
Name Description

ARemoteContainer

ARemoteContainer

Contains connection and implements protocols minihil <-> PC.

Structure

minihil.platform.selftest.HILSelftest

ProtocolClasses
Name Description

PMessageTestProtocol

Actor Classes
Name Description

MessageTesterContainer

MessageTester

MessageMirror

PMessageTestProtocol

Incoming Messages
Message Type Description

ping

void

pingWithData

int32

Outgoing Messages
Message Type Description

pong

void

pongWithData

int32

MessageTesterContainer

Testing the speed of the messaging system of eTrice. The speed can be watched at EUser_DigitalOutputs.out_24 with the logic analyzer.

Structure

MessageTester

Structure

Ports
Name Protocol Type Kind Multiplicity Description

mirror

PMessageTestProtocol

conjugated

external

1

Attributes
Name Type Description

counter

int32

Behavior

State Machine
Top Level State
Measuring

(no description)

Done

(no description)

MessageMirror

Structure

Ports
Name Protocol Type Kind Multiplicity Description

messageTester

PMessageTestProtocol

regular

external

1

Behavior

State Machine
Top Level State
Idle

(no description)

minihil.platform.sendqueue

ProtocolClasses
Name Description

PSendQueueNotify

PSendQueueNotify

Outgoing Messages
Message Type Description

connectionChanged

void

connection lost or to begin

minihil.platform.sendqueueusb

Actor Classes
Name Description

ASendQueue

ASendQueueUSBIsr

ASendQueue

SendQueue Actor

  • free buffer after send complete
  • etrice.api.logger.PLoggerFlush
  • connection handling
  • multi channel open

Structure

Ports
Name Protocol Type Kind Multiplicity Description

isrHSCtrl

PInterrupt

regular

internal

1

isrHSTx

PInterrupt

regular

internal

1

ctrlNotify

PSendQueueNotify

regular

external

1

Attributes
Name Type Description

loggerFlushing

boolean

traceFlushing

boolean

Behavior

Operations
Name Return type Arguments Description

checkFlushing

void

forceDone: boolean

State Machine
Top Level State
running

(no description)

ASendQueueUSBIsr

Structure

Ports
Name Protocol Type Kind Multiplicity Description

isrHSCtrlExported

PInterrupt

conjugated

external

1

isrHSTxExported

PInterrupt

conjugated

external

1

Behavior

State Machine
Top Level State
state0

(no description)

minihil.platform.simhwimage

Actor Classes
Name Description

ASimHWImage

ASimHWImage

Structure

Ports
Name Protocol Type Kind Multiplicity Description

dataService

PHilSimDataService

conjugated

external

1

Attributes
Name Type Description

images

SimHWImage

oldImage

SimHWImage

newImage

SimHWImage

updateRate

int32

Behavior

State Machine
Top Level State
idle

(no description)

minihil.platform.testselectservice

Actor Classes
Name Description

ATestSelectService

ATestSelectService

Structure

Ports
Name Protocol Type Kind Multiplicity Description

ctrl

PSelectableTest

conjugated

external

*

Attributes
Name Type Description

currentClientIdx

int16

selectedTest

DTestId

isTestSelected

boolean

Behavior

State Machine
Top Level State
idle

(no description)

runAll

(no description)

cancelAll

(no description)

minihil.platform.tracecontrol

Actor Classes
Name Description

AHilSimTraceControl

AHilSimTraceControl

Structure

Behavior

State Machine
Top Level State
off

(no description)

on

(no description)

minihil.selftest.RtosTask

Actor Classes
Name Description

AActorWithRtosTask

AActorWithRtosTask

Structure

Attributes
Name Type Description

taskSemaphore

SemaphoreHandle_t

counter

uint16

Behavior

Operations
Name Return type Arguments Description

theRtosTask

void

State Machine
Top Level State
wait

(no description)

active

(no description)

motorcontrol.api.motor_api

ProtocolClasses
Name Description

PMotorController

PSpeed

PPrefirer

PPwmPower

PHallgenDutycapExchange

Data Classes
Name Description

DFpSpec

DFpSpec

Attributes
Name Type Description

fp

voidType

param

voidType

PMotorController

Incoming Messages
Message Type Description

start

void

stop

void

setDirectionLeft

void

controller must be in stop state

setDirectionRight

void

controller must be in stop state

setDirectionAuto

void

controller must be in stop state

getActualSpeed

void

returns the actual motor speed in rpm

getDuty

void

returns the actual duty in percent

setMaxSpeedStep

uint32

sets the maximal speed difference between two cycles. Default is 50

setMaxSpeed

uint32

sets the maximal speed for 100% duty. Default is 25000

Outgoing Messages
Message Type Description

actualSpeed

uint32

actualDuty

uint8

actualDirection

uint8

PSpeed

Incoming Messages
Message Type Description

setSpeed

uint32

set HALL speed in RPM

setDirection

uint32

set direction 1=>Left; 2=>right

Outgoing Messages
Message Type Description

done

void

PPrefirer

Incoming Messages
Message Type Description

getPrefireAngle

void

Outgoing Messages
Message Type Description

prefireAngle

uint32

prefire angle in deg (0..360)

PPwmPower

Incoming Messages
Message Type Description

start

uint8

update rate in ms

stop

void

Outgoing Messages
Message Type Description

newDuty

uint32

duty in 1/100 %

PHallgenDutycapExchange

Incoming Messages
Message Type Description

set_getHallPatternFp

DFpSpec

set_getHallDirectionFp

DFpSpec

Outgoing Messages
Message Type Description

set_getPwmDirectionFp

DFpSpec

motorcontrol.hw.DUTYCAP_3Phase_3TIMbased

Actor Classes
Name Description

ADUTYCAP_TIM2_TIM3_TIM4_PA0_PC6_PB7_PJ15_PK4_5

ADUTYCAP_TIM2_TIM3_TIM4_PA0_PC6_PB7_PJ15_PK4_5

Structure

Ports
Name Protocol Type Kind Multiplicity Description

pwm

PPwmPower

regular

external

1

hallgen

PHallgenDutycapExchange

regular

external

1

Attributes
Name Type Description

breakOperation

uint8

breakCounter

uint8

pwmDirection

uint8

hallDirection

uint8

actualDuty

uint32

getHallPattern

DFpSpec

getHallDirection

DFpSpec

pwmTicksPerCycle

uint32

deltaPwmTicksPerCycle

uint32

Behavior

Operations
Name Return type Arguments Description

getPwmDirection

uint8

ValidatePWM_1

uint8

htim: TIM_HandleTypeDef, duty: uint32

ValidatePWM_2

uint8

htim: TIM_HandleTypeDef, duty: uint32

CheckDirection

void

activePhase: uint8, hallPattern: uint8

ToggleTestPin

void

c: uint8

CheckBreak

void

activePhase: uint8, hallPattern: uint8

CheckPWMs

void

StartTimer

void

TimerInit

void

State Machine
Top Level State
state0

(no description)

motorcontrol.hw.HALLGEN_3Phase_TIMbased

ProtocolClasses
Name Description

PHALLGen_TIM5_Cfg

Data Classes
Name Description

DHALLGen_TIM5_Params

Actor Classes
Name Description

AHallSpeedTesterSimple

AHALLGen_TIM5_PH10_PH11_PH12_PI0_DMA2_0_DMA2_1_DMA2_4

DHALLGen_TIM5_Params

Attributes
Name Type Description

ticksPerCircle

uint32

polepairs

uint32

hall1OffsetFalling

uint32

hall1OffsetRising

uint32

hall2OffsetFalling

uint32

hall2OffsetRising

uint32

hall3OffsetFalling

uint32

hall3OffsetRising

uint32

PHALLGen_TIM5_Cfg

Incoming Messages
Message Type Description

config

DHALLGen_TIM5_Params

configDefault

void

AHallSpeedTesterSimple

Structure

Ports
Name Protocol Type Kind Multiplicity Description

out

PSpeed

conjugated

external

1

cfg

PHALLGen_TIM5_Cfg

conjugated

external

1

dirIndicator

PDigOut

conjugated

external

1

onOff

POnOff

regular

external

1

Attributes
Name Type Description

p

DHALLGen_TIM5_Params

Behavior

State Machine
Top Level State
state0

(no description)

state2

(no description)

state3

(no description)

state4

(no description)

off

(no description)

AHALLGen_TIM5_PH10_PH11_PH12_PI0_DMA2_0_DMA2_1_DMA2_4

Structure

Ports
Name Protocol Type Kind Multiplicity Description

speed

PSpeed

regular

external

1

cfg

PHALLGen_TIM5_Cfg

regular

external

1

dutycap

PHallgenDutycapExchange

conjugated

external

1

Attributes
Name Type Description

params

DHALLGen_TIM5_Params

ticksPerSegment

uint32

getPwmDirectionFp

DFpSpec

hallDirection

uint8

running

uint8

autoDirection

uint8

Behavior

Operations
Name Return type Arguments Description

getHallDirection

uint8

getHallPattern

uint8

Init_Tim

void

Uptate_CCRVals

void

Start_Tim

void

setDirection

void

dir: uint8

defaultConfig

void

setSpeed

void

speedRPM: uint32

State Machine
Top Level State
state0

(no description)

motorcontrol.hw.MotorController

Actor Classes
Name Description

AMotorControllerSpeed

AMotorControllerSpeed

Structure

Ports
Name Protocol Type Kind Multiplicity Description

PwmIn

PPwmPower

conjugated

external

1

HalGenOut

PSpeed

conjugated

external

1

indicatorOut

POnOff

conjugated

external

1

ctrl

PMotorController

regular

external

*

Attributes
Name Type Description

actualSpeed

uint32

actualCurrent

uint32

oldSpeed

uint32

actualDuty

int32

-10000..10000 => -100%..100%

maxSpeedStep

uint32

maxSpeed

uint32

requestPortIndex

uint32

Behavior

Operations
Name Return type Arguments Description

limitSpeedStep

uint32

requestedSpeed: uint32

calcActualSpeed

void

State Machine
Top Level State
start

(no description)

motorOff

(no description)

stop

(no description)

whitebox.api.whitebox

ProtocolClasses
Name Description

PWhiteboxRemote

Actor Classes
Name Description

AWhiteboxRemote

PWhiteboxRemote

Incoming Messages
Message Type Description

done

int64

AWhiteboxRemote

Structure

Ports
Name Protocol Type Kind Multiplicity Description

whitebox

PWhiteboxRemote

conjugated

external

1

Behavior

State Machine
Top Level State
init

(no description)

registered

(no description)

xcp.api.protocols

ProtocolClasses
Name Description

PXcpAdapter

PXcp

PXcpTransport

PXcpAdapter

Incoming Messages
Message Type Description

connect

XCP_BYTE

connect using the passed mode. Normal mode is 0x0.

measurementShortUpload

uint16

initiates a short upload of the passed measurement ID. Use the generated enum to get the id.

characteristicShortUpload

uint16

measurementShortDownloadUInt

DXcpUIntValueAndID

initiates a short download of the passed uint value to the passed measurement id

measurementDownloadUInt

DXcpUIntValueAndID

initiates a download of the passed uint value to the passed measurement id

measurementDownloadInt

DXcpIntValueAndID

initiates a download of the passed int value to the passed measurement id

characteristicDownloadUInt

DXcpUIntValueAndID

initiates a download of the passed uint value to the passed characteristic id

characteristicDownloadInt

DXcpIntValueAndID

initiates a download of the passed int value to the passed characteristic id

resetCommunicationState

void

resets the current communication state. Can be useful in case of failure

setCommunicationTimeoutMS

uint16

sets the communication timeout in ms. Default value is 500

Outgoing Messages
Message Type Description

uploadedUInt

uint64

uploadedInt

int64

uploadedUnsuportedType

void

downloadSuccess

void

xcpError

void

communicationStateReset

void

communicationTimeout

void

PXcp

Incoming Messages
Message Type Description

resetCommunicationState

void

connect

DXcpReqConnect

disconnect

void

setMta

DXcpReqSetMta

upload

DXcpReqUpload

download

DXcpReqDownload

shortUpload

DXcpReqShortUpload

shortDownload

DXcpReqShortDownload

getStatus

void

communicationStateReset

void

Outgoing Messages
Message Type Description

resetCommunicationState

void

communicationStateReset

void

error

XCP_BYTE

success

void

connectResp

DXcpRspConnect

uploadResp

DXcpRspUpload

getStatusResp

DXcpRspGetStatus

PXcpTransport

Incoming Messages
Message Type Description

cto

DXcpCtoResponse

dto

DXcpDto

Outgoing Messages
Message Type Description

cto

DXcpCtoRequest

dto

DXcpDto

xcp.api.service

Actor Classes
Name Description

XcpMasterService

XcpSlaveService

XcpMasterService

Structure

Ports
Name Protocol Type Kind Multiplicity Description

user

PXcp

regular

external

5

transport

PXcpTransport

regular

external

1

Attributes
Name Type Description

addressGranularity

XCP_BYTE

currentRequest

DXcpCtoRequest

Behavior

Operations
Name Return type Arguments Description

responseIsPositive

boolean

response: DXcpCtoResponsePtr

responseIsError

boolean

response: DXcpCtoResponsePtr

State Machine
Top Level State
Disconnected

(no description)

Connected

(no description)

Idle

(no description)

WaitForSetMtaRsp

(no description)

WaitForUploadRsp

(no description)

WaitForDownloadRsp

(no description)

WaitForShortUploadRsp

(no description)

WaitForShortDownloadRsp

(no description)

WaitForGetStatusRsp

(no description)

Connecting

(no description)

Disconnecting

(no description)

XcpSlaveService

Structure

Ports
Name Protocol Type Kind Multiplicity Description

user

PXcp

conjugated

external

1

transport

PXcpTransport

conjugated

external

1

Attributes
Name Type Description

addressGranularity

uint8

resume

boolean

currentResponse

DXcpCtoResponse

Behavior

Operations
Name Return type Arguments Description

requestIs

boolean

code: EXcpCmdCode, request: DXcpCtoRequestPtr

sentPositiveResp

void

State Machine
Top Level State
Resume

(no description)

Disconnected

(no description)

Connected

(no description)

Idle

(no description)

WaitForSetMtaRsp

(no description)

WaitForUploadRsp

(no description)

WaitForDownloadRsp

(no description)

WaitForShortUploadRsp

(no description)

WaitForShortDownloadRsp

(no description)

Connecting

(no description)

Disconnecting

(no description)

xcp.api.types

Enumeration Types
Name Description

EXcpTimestampType

EXcpErrCode

EXcpCmdCode

EXcpCmdRespCode

Data Classes
Name Description

DXcpUIntValueAndID

DXcpIntValueAndID

DXcpIdFieldDto

DXcpIdFieldCtoRequest

DXcpIdFieldCtoResponse

DXcpCto

DXcpCtoRequest

DXcpCtoResponse

DXcpDto

DXcpTimestamp

DXcpTimeouts

DXcpReqConnect

DXcpReqSetMta

DXcpReqUpload

DXcpReqShortUpload

DXcpReqDownload

DXcpReqShortDownload

DXcpRspConnect

DXcpRspUpload

DXcpRspGetStatus

EXcpTimestampType

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

TS_BYTE

0

0x0

0

TS_WORD

1

0x1

1

TS_DWORD

2

0x2

10

EXcpErrCode

The literals of this enumeration are based on PrimitiveType XCP_BYTE.

Literals
Name Value Hex Value Binary Value

ERR_CMD_SYNCH

0

0x0

0

ERR_CMD_BUSY

16

0x10

10000

EXcpCmdCode

The literals of this enumeration are based on PrimitiveType XCP_BYTE.

Literals
Name Value Hex Value Binary Value

CONNECT

255

0xff

11111111

DISCONNECT

254

0xfe

11111110

GET_STATUS

253

0xfd

11111101

SYNCH

252

0xfc

11111100

SET_MTA

246

0xf6

11110110

UPLOAD

245

0xf5

11110101

SHORT_UPLOAD

244

0xf4

11110100

DOWNLOAD

240

0xf0

11110000

SHORT_DOWNLOAD

237

0xed

11101101

EXcpCmdRespCode

The literals of this enumeration are based on PrimitiveType XCP_BYTE.

Literals
Name Value Hex Value Binary Value

POSITIVE

255

0xff

11111111

ERR

254

0xfe

11111110

DXcpUIntValueAndID

Attributes
Name Type Description

id

uint16

value

uint64

DXcpIntValueAndID

Attributes
Name Type Description

id

uint16

value

int64

DXcpIdFieldDto

Attributes
Name Type Description

daq

XCP_WORD

fill

boolean

DXcpIdFieldCtoRequest

Attributes
Name Type Description

pid

EXcpCmdCode

DXcpIdFieldCtoResponse

Attributes
Name Type Description

pid

EXcpCmdRespCode

DXcpCto

Attributes
Name Type Description

datasize

XCP_BYTE

data

XCP_BYTE

DXcpCtoRequest

Attributes
Name Type Description

header

DXcpIdFieldCtoRequest

DXcpCtoResponse

Attributes
Name Type Description

header

DXcpIdFieldCtoResponse

DXcpDto

Attributes
Name Type Description

header

DXcpIdFieldDto

datasize

XCP_WORD

data

XCP_BYTE

DXcpTimestamp

Attributes
Name Type Description

value

XCP_DWORD

type

EXcpTimestampType

DXcpTimeouts

Attributes
Name Type Description

t1

XCP_DWORD

t2

XCP_DWORD

t3

XCP_DWORD

t4

XCP_DWORD

t5

XCP_DWORD

t6

XCP_DWORD

t7

XCP_DWORD

DXcpReqConnect

Attributes
Name Type Description

mode

XCP_BYTE

DXcpReqSetMta

Attributes
Name Type Description

reserved

XCP_WORD

address_ext

XCP_BYTE

address

XCP_DWORD

DXcpReqUpload

Attributes
Name Type Description

size

XCP_BYTE

DXcpReqShortUpload

Attributes
Name Type Description

size

XCP_BYTE

reserved

XCP_BYTE

address_ext

XCP_BYTE

address

XCP_DWORD

DXcpReqDownload

Attributes
Name Type Description

size

XCP_BYTE

datasize

XCP_BYTE

data

XCP_BYTEPT

DXcpReqShortDownload

Attributes
Name Type Description

size

XCP_BYTE

reserved

XCP_BYTE

address_ext

XCP_BYTE

address

XCP_DWORD

datasize

XCP_BYTE

data

XCP_BYTEPT

DXcpRspConnect

Attributes
Name Type Description

resource

XCP_BYTE

comm_mode_basic

XCP_BYTE

max_cto

XCP_BYTE

max_dto

XCP_WORD

protocol_layer_version

XCP_BYTE

transport_layer_version

XCP_BYTE

DXcpRspUpload

Attributes
Name Type Description

datasize

XCP_BYTE

data

XCP_BYTEPT

DXcpRspGetStatus

Attributes
Name Type Description

current_session_status

XCP_BYTE

current_resource_protection_status

XCP_BYTE

reserved

XCP_BYTE

session_configuration_id

XCP_WORD

xcp.generic.types

Enumeration Types
Name Description

EA2LDataType

EA2LCharacteristicType

EA2LByteOrder

EA2LFncIndexMode

EA2LAddrType

Data Classes
Name Description

DXcpRecordLayoutDefinition

DXcpCharacteristicDefinition

DXcpMeasurementDefinition

EA2LDataType

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

UBYTE

0

0x0

0

UWORD

1

0x1

1

ULONG

2

0x2

10

A_UINT64

3

0x3

11

SBYTE

4

0x4

100

SWORD

5

0x5

101

SLONG

6

0x6

110

A_INT64

7

0x7

111

FLOAT32_IEEE

8

0x8

1000

FLOAT64_IEEE

9

0x9

1001

EA2LCharacteristicType

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

ASCII

0

0x0

0

CURVE

1

0x1

1

MAP

2

0x2

10

CUBOID

3

0x3

11

CUBE_4

4

0x4

100

CUBE_5

5

0x5

101

VAL_BLK

6

0x6

110

VALUE

7

0x7

111

EA2LByteOrder

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

MSB_LAST

0

0x0

0

MSB_FIRST

1

0x1

1

EA2LFncIndexMode

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

ROW_DIR

0

0x0

0

COLUMN_DIR

1

0x1

1

ALTERNATE_WITH_Y

2

0x2

10

ALTERNATE_WITH_X

3

0x3

11

ALTERNATE_CURVES

4

0x4

100

EA2LAddrType

The literals of this enumeration are of type int.

Literals
Name Value Hex Value Binary Value

DIRECT

0

0x0

0

PBYTE

1

0x1

1

PWORD

2

0x2

10

PLONG

3

0x3

11

DXcpRecordLayoutDefinition

Attributes
Name Type Description

fncPosition

uint8

fncDatatype

EA2LDataType

fncIndexMode

EA2LFncIndexMode

fncAddrType

EA2LAddrType

DXcpCharacteristicDefinition

Attributes
Name Type Description

type

EA2LCharacteristicType

ecuAddress

XCP_DWORD

recordLayoutId

uint16

maxDiff

float32

conversionId

uint16

lowerLimit

float32

upperLimit

float32

sizeInByte

uint16

DXcpMeasurementDefinition

Attributes
Name Type Description

dataType

EA2LDataType

ecuAddress

XCP_DWORD

byteOrder

EA2LByteOrder

sizeInByte

uint16

Operations
Name Return type Arguments Description

getDataSizeInByte

uint16